[UPDATED PATCH] vfs: MS_VERBOSE should be MS_SILENT



[I sent out the wrong version of the patch which didn't have my final
updates to the descriptive text, sorry.]

The meaning of MS_VERBOSE is backwards; if the bit is set, it really
means, "don't be verbose". This is confusing and counter-intuitive.

In addition, there is also no way to set the MS_VERBOSE flag in the
mount(8) program in util-linux, but interesting, it does define
options which would do the right thing if MS_SILENT were defined,
which unfortunately we do not:

#ifdef MS_SILENT
{ "quiet", 0, 0, MS_SILENT }, /* be quiet */
{ "loud", 0, 1, MS_SILENT }, /* print out messages. */
#endif

So the obvious fix is to deprecate the use of MS_VERBOSE and replace
it with MS_SILENT.

Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>

Index: 2.6.16-rc5/include/linux/fs.h
===================================================================
--- 2.6.16-rc5.orig/include/linux/fs.h 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/include/linux/fs.h 2006-03-14 07:32:10.000000000 -0500
@@ -102,7 +102,9 @@ extern int dir_notify_enable;
#define MS_BIND 4096
#define MS_MOVE 8192
#define MS_REC 16384
-#define MS_VERBOSE 32768
+#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
+ MS_VERBOSE is deprecated. */
+#define MS_SILENT 32768
#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
#define MS_UNBINDABLE (1<<17) /* change to unbindable */
#define MS_PRIVATE (1<<18) /* change to private */
Index: 2.6.16-rc5/fs/super.c
===================================================================
--- 2.6.16-rc5.orig/fs/super.c 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/fs/super.c 2006-03-14 07:54:38.000000000 -0500
@@ -712,7 +712,7 @@ struct super_block *get_sb_bdev(struct f
s->s_flags = flags;
strlcpy(s->s_id, bdevname(bdev, b), sizeof(s->s_id));
sb_set_blocksize(s, block_size(bdev));
- error = fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
+ error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
up_write(&s->s_umount);
deactivate_super(s);
@@ -756,7 +756,7 @@ struct super_block *get_sb_nodev(struct

s->s_flags = flags;

- error = fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
+ error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
up_write(&s->s_umount);
deactivate_super(s);
@@ -785,7 +785,7 @@ struct super_block *get_sb_single(struct
return s;
if (!s->s_root) {
s->s_flags = flags;
- error = fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
+ error = fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
up_write(&s->s_umount);
deactivate_super(s);
Index: 2.6.16-rc5/fs/afs/super.c
===================================================================
--- 2.6.16-rc5.orig/fs/afs/super.c 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/fs/afs/super.c 2006-03-14 07:32:10.000000000 -0500
@@ -341,7 +341,7 @@ static struct super_block *afs_get_sb(st

sb->s_flags = flags;

- ret = afs_fill_super(sb, &params, flags & MS_VERBOSE ? 1 : 0);
+ ret = afs_fill_super(sb, &params, flags & MS_SILENT ? 1 : 0);
if (ret < 0) {
up_write(&sb->s_umount);
deactivate_super(sb);
Index: 2.6.16-rc5/fs/cifs/cifsfs.c
===================================================================
--- 2.6.16-rc5.orig/fs/cifs/cifsfs.c 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/fs/cifs/cifsfs.c 2006-03-14 07:32:10.000000000 -0500
@@ -479,7 +479,7 @@ cifs_get_sb(struct file_system_type *fs_

sb->s_flags = flags;

- rc = cifs_read_super(sb, data, dev_name, flags & MS_VERBOSE ? 1 : 0);
+ rc = cifs_read_super(sb, data, dev_name, flags & MS_SILENT ? 1 : 0);
if (rc) {
up_write(&sb->s_umount);
deactivate_super(sb);
Index: 2.6.16-rc5/fs/jffs2/super.c
===================================================================
--- 2.6.16-rc5.orig/fs/jffs2/super.c 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/fs/jffs2/super.c 2006-03-14 07:54:08.000000000 -0500
@@ -152,7 +152,7 @@ static struct super_block *jffs2_get_sb_
sb->s_op = &jffs2_super_operations;
sb->s_flags = flags | MS_NOATIME;

- ret = jffs2_do_fill_super(sb, data, (flags&MS_VERBOSE)?1:0);
+ ret = jffs2_do_fill_super(sb, data, flags & MS_SILENT ? 1 : 0);

if (ret) {
/* Failure case... */
@@ -257,7 +257,7 @@ static struct super_block *jffs2_get_sb(
}

if (imajor(nd.dentry->d_inode) != MTD_BLOCK_MAJOR) {
- if (!(flags & MS_VERBOSE)) /* Yes I mean this. Strangely */
+ if (!(flags & MS_SILENT))
printk(KERN_NOTICE "Attempt to mount non-MTD device \"%s\" as JFFS2\n",
dev_name);
goto out;
Index: 2.6.16-rc5/fs/nfs/inode.c
===================================================================
--- 2.6.16-rc5.orig/fs/nfs/inode.c 2006-03-14 07:31:33.000000000 -0500
+++ 2.6.16-rc5/fs/nfs/inode.c 2006-03-14 07:53:28.000000000 -0500
@@ -1679,7 +1679,7 @@ static struct super_block *nfs_get_sb(st

s->s_flags = flags;

- error = nfs_fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
+ error = nfs_fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
up_write(&s->s_umount);
deactivate_super(s);
@@ -1996,7 +1996,7 @@ static struct super_block *nfs4_get_sb(s

s->s_flags = flags;

- error = nfs4_fill_super(s, data, flags & MS_VERBOSE ? 1 : 0);
+ error = nfs4_fill_super(s, data, flags & MS_SILENT ? 1 : 0);
if (error) {
up_write(&s->s_umount);
deactivate_super(s);
Index: 2.6.16-rc5/init/do_mounts.c
===================================================================
--- 2.6.16-rc5.orig/init/do_mounts.c 2006-03-11 22:17:00.000000000 -0500
+++ 2.6.16-rc5/init/do_mounts.c 2006-03-14 07:56:49.000000000 -0500
@@ -19,7 +19,7 @@ extern int get_filesystem_list(char * bu

int __initdata rd_doload; /* 1 = load RAM disk, 0 = don't load */

-int root_mountflags = MS_RDONLY | MS_VERBOSE;
+int root_mountflags = MS_RDONLY | MS_SILENT;
char * __initdata root_device_name;
static char __initdata saved_root_name[64];



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



Relevant Pages

  • svchost.exe error: "0x745f2780" referenced memory at "0x00000000"
    ... September 2006 patch day. ... If one sees the automatic updates yellow taskbar icon and installs the ... pending updates, on most systems they will install, but on a few the first ... where the initial svchost error box was closed, ...
    (microsoft.public.windowsupdate)
  • RE: Security Update Office 2007 KB934062
    ... Explain that you are having issue installing Office 2007 updates. ... Microsoft Office Setup ... Can you download and install winzip at winzip.com, ... I would ask that you make a folder at c:\ named patch for the ease ...
    (microsoft.public.officeupdate)
  • Re: When Automatic Updates can be harmful
    ... I was advised nearly 12 months ago by an MVP to be cautious of MS updates. ... For years I've been advising Windows consumers to disable Automatic ... Don't click the Automatic Updates bar at ... Microsoft pushes out the Patch Tuesday door. ...
    (microsoft.public.windowsxp.general)
  • Re: Cant create mail or open address book
    ... Patch in the future, but it is available now and may help you out. ... Manually compacting will now reset the registry counter to Zero in WinXP/SP2 ... and install all updates as they are offered. ...
    (microsoft.public.windows.inetexplorer.ie6_outlookexpress)
  • Re: I was referring to the svchost.exe errors...
    ... September 2006 patch day. ... If one sees the automatic updates yellow taskbar icon and installs the ... pending updates, on most systems they will install, but on a few the first ... where the initial svchost error box was closed, ...
    (microsoft.public.windowsupdate)