Whamcloud - gitweb
LU-3467 target: unified transaction callbacks
[fs/lustre-release.git] / lustre / ofd / lproc_ofd.c
index 0d91844..88e54cb 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2013, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -148,9 +148,10 @@ static int lprocfs_ofd_rd_precreate_batch(char *page, char **start, off_t off,
                                          int count, int *eof, void *data)
 {
        struct obd_device *obd = (struct obd_device *)data;
-       struct ofd_device *ofd = ofd_dev(obd->obd_lu_dev);
+       struct ofd_device *ofd;
 
        LASSERT(obd != NULL);
+       ofd = ofd_dev(obd->obd_lu_dev);
        *eof = 1;
        return snprintf(page, count, "%d\n", ofd->ofd_precreate_batch);
 }
@@ -191,8 +192,14 @@ static int lprocfs_ofd_rd_last_id(char *page, char **start, off_t off,
 
        read_lock(&ofd->ofd_seq_list_lock);
        cfs_list_for_each_entry(oseq, &ofd->ofd_seq_list, os_list) {
-               rc = snprintf(page, count, LPX64": "LPX64"\n",
-                             oseq->os_seq, ofd_seq_last_oid(oseq));
+               __u64 seq;
+
+               seq = ostid_seq(&oseq->os_oi) == 0 ?
+                     fid_idif_seq(ostid_id(&oseq->os_oi),
+                                  ofd->ofd_lut.lut_lsd.lsd_osd_index) :
+                     ostid_seq(&oseq->os_oi);
+               rc = snprintf(page, count, DOSTID"\n", seq,
+                             ostid_id(&oseq->os_oi));
                if (rc < 0) {
                        retval = rc;
                        break;
@@ -242,7 +249,7 @@ int lprocfs_ofd_rd_fmd_max_age(char *page, char **start, off_t off,
        struct ofd_device       *ofd = ofd_dev(obd->obd_lu_dev);
        int                      rc;
 
-       rc = snprintf(page, count, "%ld\n", ofd->ofd_fmd_max_age / CFS_HZ);
+       rc = snprintf(page, count, "%ld\n", ofd->ofd_fmd_max_age / HZ);
        return rc;
 }
 
@@ -261,7 +268,7 @@ int lprocfs_ofd_wr_fmd_max_age(struct file *file, const char *buffer,
        if (val > 65536 || val < 1)
                return -EINVAL;
 
-       ofd->ofd_fmd_max_age = val * CFS_HZ;
+       ofd->ofd_fmd_max_age = val * HZ;
        return count;
 }
 
@@ -389,11 +396,11 @@ int lprocfs_ofd_rd_sync_lock_cancel(char *page, char **start, off_t off,
                                    int count, int *eof, void *data)
 {
        struct obd_device       *obd = data;
-       struct ofd_device       *ofd = ofd_dev(obd->obd_lu_dev);
+       struct lu_target        *tgt = obd->u.obt.obt_lut;
        int                      rc;
 
        rc = snprintf(page, count, "%s\n",
-                     sync_on_cancel_states[ofd->ofd_sync_lock_cancel]);
+                     sync_on_cancel_states[tgt->lut_sync_lock_cancel]);
        return rc;
 }
 
@@ -401,7 +408,7 @@ int lprocfs_ofd_wr_sync_lock_cancel(struct file *file, const char *buffer,
                                    unsigned long count, void *data)
 {
        struct obd_device       *obd = data;
-       struct ofd_device       *ofd = ofd_dev(obd->obd_lu_dev);
+       struct lu_target        *tgt = obd->u.obt.obt_lut;
        int                      val = -1;
        int                      i;
 
@@ -423,9 +430,9 @@ int lprocfs_ofd_wr_sync_lock_cancel(struct file *file, const char *buffer,
        if (val < 0 || val > 2)
                return -EINVAL;
 
-       spin_lock(&ofd->ofd_flags_lock);
-       ofd->ofd_sync_lock_cancel = val;
-       spin_unlock(&ofd->ofd_flags_lock);
+       spin_lock(&tgt->lut_flags_lock);
+       tgt->lut_sync_lock_cancel = val;
+       spin_unlock(&tgt->lut_flags_lock);
        return count;
 }
 
@@ -525,16 +532,32 @@ void lprocfs_ofd_init_vars(struct lprocfs_static_vars *lvars)
 
 void ofd_stats_counter_init(struct lprocfs_stats *stats)
 {
-       LASSERT(stats && stats->ls_num == LPROC_OFD_STATS_LAST);
+       LASSERT(stats && stats->ls_num >= LPROC_OFD_STATS_LAST);
+
        lprocfs_counter_init(stats, LPROC_OFD_STATS_READ,
-                            LPROCFS_CNTR_AVGMINMAX, "read", "bytes");
+                            LPROCFS_CNTR_AVGMINMAX, "read_bytes", "bytes");
        lprocfs_counter_init(stats, LPROC_OFD_STATS_WRITE,
-                            LPROCFS_CNTR_AVGMINMAX, "write", "bytes");
+                            LPROCFS_CNTR_AVGMINMAX, "write_bytes", "bytes");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_GETATTR,
+                            0, "getattr", "reqs");
        lprocfs_counter_init(stats, LPROC_OFD_STATS_SETATTR,
                             0, "setattr", "reqs");
        lprocfs_counter_init(stats, LPROC_OFD_STATS_PUNCH,
                             0, "punch", "reqs");
        lprocfs_counter_init(stats, LPROC_OFD_STATS_SYNC,
                             0, "sync", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_DESTROY,
+                            0, "destroy", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_CREATE,
+                            0, "create", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_STATFS,
+                            0, "statfs", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_GET_INFO,
+                            0, "get_info", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_SET_INFO,
+                            0, "set_info", "reqs");
+       lprocfs_counter_init(stats, LPROC_OFD_STATS_QUOTACTL,
+                            0, "quotactl", "reqs");
 }
+
 #endif /* LPROCFS */