Whamcloud - gitweb
b=22378 Correct MDS client stats
authorDmitry Zogin <dmitry.zoguine@oracle.com>
Tue, 24 Aug 2010 20:45:25 +0000 (16:45 -0400)
committerJohann Lombardi <johann.lombardi@oracle.com>
Tue, 24 Aug 2010 20:51:18 +0000 (22:51 +0200)
 Move some of the MDS stats from obdfilter layer to MDS layer.

 i=andreas.dilger
 i=amoly.liu

lustre/mds/handler.c
lustre/mds/lproc_mds.c
lustre/mds/mds_internal.h
lustre/mds/mds_reint.c

index 6debf4c..afde40e 100644 (file)
@@ -1048,7 +1048,7 @@ static int mds_getattr(struct ptlrpc_request *req, int offset)
         int rc = 0;
         ENTRY;
 
-        OBD_COUNTER_INCREMENT(obd, getattr);
+        mds_counter_incr(req->rq_export, LPROC_MDS_GETATTR);
 
         body = lustre_swab_reqbuf(req, offset, sizeof(*body),
                                   lustre_swab_mds_body);
@@ -1120,7 +1120,7 @@ static int mds_statfs(struct ptlrpc_request *req)
         OBD_FAIL_TIMEOUT(OBD_FAIL_MDS_STATFS_LCW_SLEEP,
                          (MDS_SERVICE_WATCHDOG_FACTOR *
                           at_get(&svc->srv_at_estimate)) + 1);
-        OBD_COUNTER_INCREMENT(obd, statfs);
+        mds_counter_incr(req->rq_export, LPROC_MDS_STATFS);
 
         if (OBD_FAIL_CHECK(OBD_FAIL_MDS_STATFS_PACK))
                 GOTO(out, rc = -ENOMEM);
@@ -1158,6 +1158,8 @@ static int mds_sync(struct ptlrpc_request *req, int offset)
 
         if (OBD_FAIL_CHECK(OBD_FAIL_MDS_SYNC_PACK))
                 GOTO(out, rc = -ENOMEM);
+        mds_counter_incr(req->rq_export, LPROC_MDS_SYNC);
+
         rc = lustre_pack_reply(req, 2, size, NULL);
         if (rc)
                 GOTO(out, rc);
@@ -2457,7 +2459,7 @@ static int mds_intent_policy(struct ldlm_namespace *ns,
                         getattr_part = MDS_INODELOCK_LOOKUP;
         case IT_GETATTR:
                         getattr_part |= MDS_INODELOCK_LOOKUP;
-                        OBD_COUNTER_INCREMENT(req->rq_export->exp_obd, getattr);
+                        mds_counter_incr(req->rq_export, LPROC_MDS_GETATTR);
         case IT_READDIR:
                 fixup_handle_for_resent_req(req, DLM_LOCKREQ_OFF, lock,
                                             &new_lock, &lockh);
index b36b6d9..74bfad7 100644 (file)
@@ -520,8 +520,12 @@ void mds_stats_counter_init(struct lprocfs_stats *stats)
         lprocfs_counter_init(stats, LPROC_MDS_MKDIR, 0, "mkdir", "reqs");
         lprocfs_counter_init(stats, LPROC_MDS_RMDIR, 0, "rmdir", "reqs");
         lprocfs_counter_init(stats, LPROC_MDS_RENAME, 0, "rename", "reqs");
+        lprocfs_counter_init(stats, LPROC_MDS_GETATTR, 0, "getattr", "reqs");
+        lprocfs_counter_init(stats, LPROC_MDS_SETATTR, 0, "setattr", "reqs");
         lprocfs_counter_init(stats, LPROC_MDS_GETXATTR, 0, "getxattr", "reqs");
         lprocfs_counter_init(stats, LPROC_MDS_SETXATTR, 0, "setxattr", "reqs");
+        lprocfs_counter_init(stats, LPROC_MDS_STATFS, 0, "statfs", "reqs");
+        lprocfs_counter_init(stats, LPROC_MDS_SYNC, 0, "sync", "reqs");
 }
 
 void lprocfs_mds_init_vars(struct lprocfs_static_vars *lvars)
index 9936618..d0d4bb0 100644 (file)
@@ -312,8 +312,12 @@ enum {
         LPROC_MDS_MKDIR,
         LPROC_MDS_RMDIR,
         LPROC_MDS_RENAME,
+        LPROC_MDS_GETATTR,
+        LPROC_MDS_SETATTR,
         LPROC_MDS_GETXATTR,
         LPROC_MDS_SETXATTR,
+        LPROC_MDS_STATFS,
+        LPROC_MDS_SYNC,
         LPROC_MDS_LAST,
 };
 void mds_counter_incr(struct obd_export *exp, int opcode);
index 1dd862c..353d2be 100644 (file)
@@ -686,7 +686,7 @@ static int mds_reint_setattr(struct mds_update_record *rec, int offset,
 
         DEBUG_REQ(D_INODE, req, "setattr "LPU64"/%u %x", rec->ur_fid1->id,
                   rec->ur_fid1->generation, rec->ur_iattr.ia_valid);
-        OBD_COUNTER_INCREMENT(obd, setattr);
+        mds_counter_incr(req->rq_export, LPROC_MDS_SETATTR);
 
         MDS_CHECK_RESENT(req, reconstruct_reint_setattr(rec, offset, req));