Whamcloud - gitweb
LU-1095 debug: Standardize, suppress mount/umount messages
authorChristopher J. Morrone <morrone2@llnl.gov>
Mon, 27 Feb 2012 00:06:29 +0000 (16:06 -0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 11 May 2012 04:58:18 +0000 (00:58 -0400)
Standardize mount/umount console message to include profile name,
and optionally suppress them with the 'quiet' mount option.  We
have been using private namespaces for testing and mounting then
umounting the FS as needed for each job.  In this context these
messages end up causing alot of syslog noise.

Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Change-Id: I7514f6016c337a358e5e31146644810dff292d02
Reviewed-on: http://review.whamcloud.com/2199
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/doc/mount.lustre.8
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c

index ea63a20..6ea7cce 100644 (file)
@@ -84,6 +84,12 @@ manual page.
 .TP
 .BI noacl
 Disable Access Control List support.
+.TP
+.BI verbose
+Enable mount/umount console messages.
+.TP
+.BI noverbose
+Disable mount/umount console messages.
 .PP
 In addition to the standard mount options and backing disk type
 (e.g. ext3) options listed in
index 67c670d..2f1b604 100644 (file)
@@ -329,6 +329,7 @@ enum stats_track_type {
 #define LL_SBI_SOM_PREVIEW     0x1000 /* SOM preview mount option */
 #define LL_SBI_32BIT_API       0x2000 /* generate 32 bit inodes. */
 #define LL_SBI_64BIT_HASH      0x4000 /* support 64-bits dir hash/offset */
+#define LL_SBI_VERBOSE        0x10000 /* verbose mount/umount */
 
 /* default value for ll_sb_info->contention_time */
 #define SBI_DEFAULT_CONTENTION_SECONDS     60
index f97250b..dbb279f 100644 (file)
@@ -123,6 +123,7 @@ static struct ll_sb_info *ll_init_sbi(void)
         cfs_list_add_tail(&sbi->ll_list, &ll_super_blocks);
         cfs_spin_unlock(&ll_sb_lock);
 
+        sbi->ll_flags |= LL_SBI_VERBOSE;
 #ifdef ENABLE_CHECKSUM
         sbi->ll_flags |= LL_SBI_CHECKSUM;
 #endif
@@ -838,7 +839,16 @@ static int ll_options(char *options, int *flags)
                         *flags |= tmp;
                         goto next;
                 }
-
+                tmp = ll_set_opt("verbose", s1, LL_SBI_VERBOSE);
+                if (tmp) {
+                        *flags |= tmp;
+                        goto next;
+                }
+                tmp = ll_set_opt("noverbose", s1, LL_SBI_VERBOSE);
+                if (tmp) {
+                        *flags &= ~tmp;
+                        goto next;
+                }
                 LCONSOLE_ERROR_MSG(0x152, "Unknown option '%s', won't mount.\n",
                                    s1);
                 RETURN(-EINVAL);
@@ -982,8 +992,8 @@ out_free:
                 OBD_FREE(dt, strlen(lprof->lp_dt) + instlen + 2);
         if (err)
                 ll_put_super(sb);
-        else
-                LCONSOLE_WARN("Client %s has started\n", profilenm);
+        else if (sbi->ll_flags & LL_SBI_VERBOSE)
+                LCONSOLE_WARN("Mounted %s\n", profilenm);
 
         OBD_FREE_PTR(cfg);
         RETURN(err);
@@ -1035,6 +1045,9 @@ void ll_put_super(struct super_block *sb)
                 class_manual_cleanup(obd);
         }
 
+        if (sbi->ll_flags & LL_SBI_VERBOSE)
+                LCONSOLE_WARN("Unmounted %s\n", profilenm ? profilenm : "");
+
         if (profilenm)
                 class_del_profile(profilenm);
 
@@ -1050,8 +1063,6 @@ void ll_put_super(struct super_block *sb)
 
         cl_env_cache_purge(~0);
 
-        LCONSOLE_WARN("client %p umount complete\n", cfg.cfg_instance);
-
         cfs_module_put(THIS_MODULE);
 
         EXIT;
@@ -1994,6 +2005,7 @@ void ll_umount_begin(struct super_block *sb)
 int ll_remount_fs(struct super_block *sb, int *flags, char *data)
 {
         struct ll_sb_info *sbi = ll_s2sbi(sb);
+        char *profilenm = get_profile_name(sb);
         int err;
         __u32 read_only;
 
@@ -2004,8 +2016,9 @@ int ll_remount_fs(struct super_block *sb, int *flags, char *data)
                                          KEY_READ_ONLY, sizeof(read_only),
                                          &read_only, NULL);
                 if (err) {
-                        CERROR("Failed to change the read-only flag during "
-                               "remount: %d\n", err);
+                        LCONSOLE_WARN("Failed to remount %s %s (%d)\n",
+                                      profilenm, read_only ?
+                                      "read-only" : "read-write", err);
                         return err;
                 }
 
@@ -2013,6 +2026,10 @@ int ll_remount_fs(struct super_block *sb, int *flags, char *data)
                         sb->s_flags |= MS_RDONLY;
                 else
                         sb->s_flags &= ~MS_RDONLY;
+
+                if (sbi->ll_flags & LL_SBI_VERBOSE)
+                        LCONSOLE_WARN("Remounted %s %s\n", profilenm,
+                                      read_only ?  "read-only" : "read-write");
         }
         return 0;
 }