Whamcloud - gitweb
LU-7543 obd: reserve connection flag OBD_CONNECT_LOCK_AHEAD
[fs/lustre-release.git] / lustre / obdclass / lprocfs_status.c
index 3f4c432..956abe2 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2014, Intel Corporation.
+ * Copyright (c) 2011, 2015, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -650,9 +650,12 @@ static const char *obd_connect_names[] = {
        "lfsck",
        "unknown",
        "unlink_close",
-       "unknown",
+       "multi_mod_rpcs",
        "dir_stripe",
-       "unknown",
+       "fileset_mount",
+       "lock_ahead",
+       "bulk_mbits",
+       "compact_obdo",
        NULL
 };
 
@@ -695,7 +698,7 @@ EXPORT_SYMBOL(obd_connect_flags2str);
 static void obd_connect_data_seqprint(struct seq_file *m,
                                      struct obd_connect_data *ocd)
 {
-       int flags;
+       __u64 flags;
 
        LASSERT(ocd != NULL);
        flags = ocd->ocd_connect_flags;
@@ -740,6 +743,9 @@ static void obd_connect_data_seqprint(struct seq_file *m,
        if (flags & OBD_CONNECT_MAXBYTES)
                seq_printf(m, "       max_object_bytes: "LPU64"\n",
                              ocd->ocd_maxbytes);
+       if (flags & OBD_CONNECT_MULTIMODRPCS)
+               seq_printf(m, "       max_mod_rpcs: %hu\n",
+                             ocd->ocd_maxmodrpcs);
 }
 
 int lprocfs_import_seq_show(struct seq_file *m, void *data)
@@ -786,14 +792,17 @@ int lprocfs_import_seq_show(struct seq_file *m, void *data)
                seq_printf(m, "%s%s", j ? ", " : "", nidstr);
                j++;
        }
-       libcfs_nid2str_r(imp->imp_connection->c_peer.nid,
-                        nidstr, sizeof(nidstr));
+       if (imp->imp_connection != NULL)
+               libcfs_nid2str_r(imp->imp_connection->c_peer.nid,
+                                nidstr, sizeof(nidstr));
+       else
+               strncpy(nidstr, "<none>", sizeof(nidstr));
        seq_printf(m, " ]\n"
                      "       current_connection: %s\n"
                      "       connection_attempts: %u\n"
                      "       generation: %u\n"
                      "       in-progress_invalidations: %u\n",
-                     imp->imp_connection == NULL ? "<none>" : nidstr,
+                     nidstr,
                      imp->imp_conn_cnt,
                      imp->imp_generation,
                      atomic_read(&imp->imp_inval_count));
@@ -1056,6 +1065,7 @@ int lprocfs_stats_alloc_one(struct lprocfs_stats *stats, unsigned int cpuid)
        }
        return rc;
 }
+EXPORT_SYMBOL(lprocfs_stats_alloc_one);
 
 struct lprocfs_stats *lprocfs_alloc_stats(unsigned int num,
                                           enum lprocfs_stats_flags flags)
@@ -1368,8 +1378,6 @@ void lprocfs_init_mps_stats(int num_private_stats, struct lprocfs_stats *stats)
         LPROCFS_MD_OP_INIT(num_private_stats, stats, set_lock_data);
         LPROCFS_MD_OP_INIT(num_private_stats, stats, lock_match);
         LPROCFS_MD_OP_INIT(num_private_stats, stats, cancel_unused);
-        LPROCFS_MD_OP_INIT(num_private_stats, stats, renew_capa);
-        LPROCFS_MD_OP_INIT(num_private_stats, stats, unpack_capa);
         LPROCFS_MD_OP_INIT(num_private_stats, stats, get_remote_perm);
         LPROCFS_MD_OP_INIT(num_private_stats, stats, intent_getattr_async);
         LPROCFS_MD_OP_INIT(num_private_stats, stats, revalidate_lock);
@@ -1918,6 +1926,7 @@ int lprocfs_wr_nosquash_nids(const char __user *buffer, unsigned long count,
        char *kernbuf = NULL;
        char *errmsg;
        struct list_head tmp;
+       int len = count;
        ENTRY;
 
        if (count > 4096) {
@@ -1937,9 +1946,10 @@ int lprocfs_wr_nosquash_nids(const char __user *buffer, unsigned long count,
        kernbuf[count] = '\0';
 
        if (count > 0 && kernbuf[count - 1] == '\n')
-               kernbuf[count - 1] = '\0';
+               len = count - 1;
 
-       if (strcmp(kernbuf, "NONE") == 0 || strcmp(kernbuf, "clear") == 0) {
+       if ((len == 4 && strncmp(kernbuf, "NONE", len) == 0) ||
+           (len == 5 && strncmp(kernbuf, "clear", len) == 0)) {
                /* empty string is special case */
                down_write(&squash->rsi_sem);
                if (!list_empty(&squash->rsi_nosquash_nids))