Description of problem: "quiet" mount option is incorrectly passed to the kernel
Version-Release number of selected component (if applicable): util-linux-ng-2.17.2-7.fc13.i686, vanilla Linux kernel 2.6.33, 34, 35
How reproducible: always
Steps to Reproduce:
1. mount -t vfat -o quiet device location
Actual results: no "quiet" in /proc/mounts
Expected results: "quiet" option enforced
Additional info: See bug 16500 at kernel's bugzilla
I cannot reproduce this problem with the latest util-linux-ng:
# strace -e mount mount -t vfat -o quiet /dev/loop0 /mnt/test
mount("/dev/loop0", "/mnt/test", "vfat", MS_MGC_VAL, "quiet") = 0
# grep test /proc/mounts
/dev/loop0 /mnt/test vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii,shortname=mixed,quiet,errors=remount-ro 0 0
# uname -a
Linux nb.net.home 2.6.34-11.fc14.x86_64 #1 SMP Sat May 22 01:03:52 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
Please, try to use:
# strace -e mount mount -t vfat -o quiet <source> <target>
# mount -v -v -v -t vfat -o quiet <source> <target>
to get more details.
Created attachment 437365 [details]
I'm using *vanilla* 2.6.35 kernel.
[root@localhost tmp]# mount -v -v -v -t vfat -o quiet,loop img /mnt/loop
mount: fstab path: "/etc/fstab"
mount: mtab path: "/etc/mtab"
mount: lock path: "/etc/mtab~"
mount: temp path: "/etc/mtab.tmp"
mount: UID: 0
mount: eUID: 0
mount: spec: "/tmp/img"
mount: node: "/mnt/loop"
mount: types: "vfat"
mount: opts: "quiet,loop"
mount: going to use the loop device /dev/loop0
mount: setup loop device successfully
mount: mount(2) syscall: source: "/dev/loop0", target: "/mnt/loop", filesystemtype: "vfat", mountflags: -1058177024, data: (null)
/tmp/img on /mnt/loop type vfat (rw,quiet,loop=/dev/loop0)
[root@localhost tmp]# grep loop /proc/mounts
/dev/loop0 /mnt/loop vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp866,iocharset=utf8,shortname=mixed,errors=remount-ro 0 0
[root@localhost tmp]# strace -e mount mount -t vfat -o quiet,loop img /mnt/loop
mount("/dev/loop0", "/mnt/loop", "vfat", MS_MGC_VAL|MS_SILENT, NULL) = 0
Ah, I found the problem.
The "quiet" mount option is translated to the MS_SILENT mount flags. Unfortunately, MS_SILENT is undefined in mount private header files (it still uses obsolete MS_VERBOSE). In your system the MS_SILENT macro is probably defined in /usr/include/sys/mount.h so the code that translate the "quiet" options is enabled.
The another problem is that mount(8) uses the "quiet" for MS_SILENT mount flag and the same option (as string) is expected by vfat kernel driver... that's mess. I need to ask VFS hackers for more details.
Any updates on this bug?
Six months and no updates. :(
And the bug is still there.
Sorry, for the delay. I'm going to resolve the problem ASAP.
Fixed in upstream tree, commit 2ac1890aa0d8ce404528587134fcabe0e2834963. I'll add the bugfix to Fedora-15.
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '13'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 13's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 13 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here: