Re: MS_SILENT vs. vfat and hfs

From: Karel Zak
Date: Wed Mar 02 2011 - 09:43:20 EST


On Wed, Mar 02, 2011 at 11:14:28PM +0900, OGAWA Hirofumi wrote:
> 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.

I know, but I don't care which option is newer. I'd like to found a
solution with minimal impact to users.

> 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.

Then all people who use "quiet" in their fstab will see problems...

Karel

--
Karel Zak <kzak@xxxxxxxxxx>
http://karelzak.blogspot.com
--
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/