Patchwork udev-extraconf: Avoid mounting unknown filesystems

login
register
mail settings
Submitter Otavio Salvador
Date April 22, 2013, 11:52 a.m.
Message ID <1366631550-12726-1-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/48631/
State Accepted
Commit 895c9685a7f95dc84786213f945895a504a16254
Headers show

Comments

Otavio Salvador - April 22, 2013, 11:52 a.m.
Depending on kernel version used, the system can hung when trying to
mount the extended partition (not the logical one) as it is a holder
for other partitions and does not have a filesystem in it.

To avoid this to happen we just mount partitions when these are using
known filesystems so it does not try to mount a partition for an
unsupported filesystem.

Reported-by: Vladan Jovanovic <vladan.jovanovic@gmail.com>
Reported-by: Leonardo Sandoval Gonzalez <b42214@freescale.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Tested-by: Vladan Jovanovic <vladan.jovanovic@gmail.com>
---
 meta/recipes-core/udev/udev-extraconf/mount.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Qi.Chen@windriver.com - Sept. 10, 2013, 8:55 a.m.
Hi Otavio,

This patch caused a new bug. So I'm afraid maybe this patch is not 
totally correct.
https://bugzilla.yoctoproject.org/show_bug.cgi?id=4487

The problem is that for a cdrom device, there's no ID_FS_TYPE.
Any idea?

Besides, could you please detail a little about what problem this patch 
is trying to solve?
Which kernel version is involved?

Best Regards,
Chen Qi


On 04/22/2013 07:52 PM, Otavio Salvador wrote:
> Depending on kernel version used, the system can hung when trying to
> mount the extended partition (not the logical one) as it is a holder
> for other partitions and does not have a filesystem in it.
>
> To avoid this to happen we just mount partitions when these are using
> known filesystems so it does not try to mount a partition for an
> unsupported filesystem.
>
> Reported-by: Vladan Jovanovic <vladan.jovanovic@gmail.com>
> Reported-by: Leonardo Sandoval Gonzalez <b42214@freescale.com>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> Tested-by: Vladan Jovanovic <vladan.jovanovic@gmail.com>
> ---
>   meta/recipes-core/udev/udev-extraconf/mount.sh | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
> index 97af608..d1419ed 100644
> --- a/meta/recipes-core/udev/udev-extraconf/mount.sh
> +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
> @@ -47,7 +47,7 @@ rm_dir() {
>   	fi
>   }
>   
> -if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
> +if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" ]; then
>   	if [ -x "$PMOUNT" ]; then
>   		$PMOUNT $DEVNAME 2> /dev/null
>   	elif [ -x $MOUNT ]; then
Otavio Salvador - Sept. 13, 2013, 5:11 p.m.
On Tue, Sep 10, 2013 at 5:55 AM, ChenQi <Qi.Chen@windriver.com> wrote:
> Hi Otavio,

Hi Chen Qi,

> This patch caused a new bug. So I'm afraid maybe this patch is not totally
> correct.
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=4487
>
> The problem is that for a cdrom device, there's no ID_FS_TYPE.
> Any idea?

I noticed you did found a fix for this
(http://cgit.openembedded.org/openembedded-core/commit/?id=2df21a3b27543df912a3ce05bef2415fae13cb7c)
and I agree with the code change.

> Besides, could you please detail a little about what problem this patch is
> trying to solve?
> Which kernel version is involved?

This happens with 2.6.35.3 kernel IIRC. But your fix seems to proper
add support for cdrom and should be the way to go.

Thanks for looking at it.

Patch

diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 97af608..d1419ed 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -47,7 +47,7 @@  rm_dir() {
 	fi
 }
 
-if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
+if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && [ -n "$ID_FS_TYPE" ]; then
 	if [ -x "$PMOUNT" ]; then
 		$PMOUNT $DEVNAME 2> /dev/null
 	elif [ -x $MOUNT ]; then