Re: MS_SILENT vs. vfat and hfs

From: OGAWA Hirofumi
Date: Wed Mar 02 2011 - 09:37:53 EST


Karel Zak <kzak@xxxxxxxxxx> writes:

> The mount(8) command uses "quiet" mount option as a synonym to the
> MS_SILENT mount flag (since util-linux 2.7, Aug 1997).
>
> It means than on systems where is properly defined the MS_SILENT
> mount flags in headers is the "quiet" mount option always translated
> to the MS_SILENT mount flags and "quiet" string is never send to FS
> drivers.
>
> $ strace -e mount mount -o quiet /dev/sdb1 /mnt/test
> mount("/dev/sdb1", "/mnt/test", "vfat", MS_MGC_VAL|MS_SILENT, NULL) = 0
> ^^^^^^^^^
>
> Unfortunately,
>
> $ grep -r \"quiet\" *
>
> fat/inode.c: {Opt_quiet, "quiet"},
> hfs/super.c: { opt_quiet, "quiet" },
>
> vfat and hfs drivers use "quiet" as a mount option. That's bug.
>
> There should not be a collision between mount(8) mount options and
> filesystem specific mount options.
>
> My suggestion is to fix the fat and hfs code to use something other
> than "quiet" (shutup, noisless, ...). I think you don't have to care
> about backward compatibility, because it's probably broken for years.

No. Actually the _new_ option is MS_SILENT. In history, there was no
MS_SILENT (it was called MS_VERBOSE) in kernel, then _added_ newly, and
never be enabled MS_SILENT in mount command until that.

So, my suggestion is use "silent" (or something) as MS_SILENT for
backward compatibility. Because the "quiet" is already hardcoded by some
userland apps for vfat.

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/