Whamcloud - gitweb
LU-6158 mdt: always shrink_capsule in getxattr_all
[fs/lustre-release.git] / lustre / osp / lproc_osp.c
index 5a8a3b6..530b34e 100644 (file)
@@ -717,7 +717,7 @@ LPROC_SEQ_FOPS_RO_TYPE(osp, timeouts);
 LPROC_SEQ_FOPS_RW_TYPE(osp, import);
 LPROC_SEQ_FOPS_RO_TYPE(osp, state);
 
-static struct lprocfs_seq_vars lprocfs_osp_obd_vars[] = {
+static struct lprocfs_vars lprocfs_osp_obd_vars[] = {
        { .name =       "uuid",
          .fops =       &osp_uuid_fops                  },
        { .name =       "ping",
@@ -776,6 +776,43 @@ static struct lprocfs_seq_vars lprocfs_osp_obd_vars[] = {
        { NULL }
 };
 
+static struct lprocfs_vars lprocfs_osp_md_vars[] = {
+       { .name =       "uuid",
+         .fops =       &osp_uuid_fops                  },
+       { .name =       "ping",
+         .fops =       &osp_ping_fops,
+         .proc_mode =  0222                            },
+       { .name =       "connect_flags",
+         .fops =       &osp_connect_flags_fops         },
+       { .name =       "mdt_server_uuid",
+         .fops =       &osp_server_uuid_fops           },
+       { .name =       "mdt_conn_uuid",
+         .fops =       &osp_conn_uuid_fops             },
+       { .name =       "active",
+         .fops =       &osp_active_fops                },
+       { .name =       "max_rpcs_in_flight",
+         .fops =       &osp_max_rpcs_in_flight_fops    },
+       { .name =       "max_rpcs_in_progress",
+         .fops =       &osp_max_rpcs_in_prog_fops      },
+       { .name =       "timeouts",
+         .fops =       &osp_timeouts_fops              },
+       { .name =       "import",
+         .fops =       &osp_import_fops                },
+       { .name =       "state",
+         .fops =       &osp_state_fops                 },
+       { .name =       "maxage",
+         .fops =       &osp_maxage_fops                },
+       { .name =       "prealloc_status",
+         .fops =       &osp_pre_status_fops            },
+
+       /* for compatibility reasons */
+       { .name =       "destroys_in_flight",
+         .fops =       &osp_destroys_in_flight_fops            },
+       { .name =       "lfsck_max_rpcs_in_flight",
+         .fops =       &osp_lfsck_max_rpcs_in_flight_fops      },
+       { NULL }
+};
+
 LPROC_SEQ_FOPS_RO_TYPE(osp, dt_blksize);
 LPROC_SEQ_FOPS_RO_TYPE(osp, dt_kbytestotal);
 LPROC_SEQ_FOPS_RO_TYPE(osp, dt_kbytesfree);
@@ -783,7 +820,7 @@ LPROC_SEQ_FOPS_RO_TYPE(osp, dt_kbytesavail);
 LPROC_SEQ_FOPS_RO_TYPE(osp, dt_filestotal);
 LPROC_SEQ_FOPS_RO_TYPE(osp, dt_filesfree);
 
-static struct lprocfs_seq_vars lprocfs_osp_osd_vars[] = {
+static struct lprocfs_vars lprocfs_osp_osd_vars[] = {
        { .name =       "blocksize",
          .fops =       &osp_dt_blksize_fops            },
        { .name =       "kbytestotal",
@@ -811,18 +848,22 @@ void osp_lprocfs_init(struct osp_device *osp)
        struct obd_type         *type;
        int                      rc;
 
-       obd->obd_vars = lprocfs_osp_obd_vars;
+       if (osp->opd_connect_mdt)
+               obd->obd_vars = lprocfs_osp_md_vars;
+       else
+               obd->obd_vars = lprocfs_osp_obd_vars;
        if (lprocfs_obd_setup(obd) != 0)
                return;
 
-       rc = lprocfs_seq_add_vars(obd->obd_proc_entry, lprocfs_osp_osd_vars,
-                                 &osp->opd_dt_dev);
+       rc = lprocfs_add_vars(obd->obd_proc_entry, lprocfs_osp_osd_vars,
+                             &osp->opd_dt_dev);
        if (rc) {
                CERROR("%s: can't register in lprocfs, rc %d\n",
                       obd->obd_name, rc);
                return;
        }
 
+       sptlrpc_lprocfs_cliobd_attach(obd);
        ptlrpc_lprocfs_register_obd(obd);
 
        if (osp->opd_connect_mdt || !strstr(obd->obd_name, "osc"))