MS_SILENT vs. vfat and hfs

From: Karel Zak
Date: Wed Mar 02 2011 - 06:45:31 EST



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.

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/