Whamcloud - gitweb
LU-946 lprocfs: List open files in filesystem
[fs/lustre-release.git] / lustre / mdt / mdt_fs.c
index 8621475..f9cf90e 100644 (file)
 
 #include "mdt_internal.h"
 
+static const struct file_operations mdt_open_files_seq_fops = {
+       .owner   = THIS_MODULE,
+       .open    = lprocfs_mdt_open_files_seq_open,
+       .read    = seq_read,
+       .llseek  = seq_lseek,
+       .release = seq_release,
+};
+
 int mdt_export_stats_init(struct obd_device *obd,
                           struct obd_export *exp,
                           void              *localdata)
@@ -75,7 +83,15 @@ int mdt_export_stats_init(struct obd_device *obd,
                 rc = lprocfs_nid_ldlm_stats_init(tmp);
                 if (rc)
                         GOTO(clean, rc);
-        }
+
+               rc = lprocfs_seq_create(tmp->nid_proc, "open_files",
+                                       0444, &mdt_open_files_seq_fops, tmp);
+               if (rc) {
+                       CWARN("%s: error adding the open_files file: rc = %d\n",
+                             obd->obd_name, rc);
+                       GOTO(clean, rc);
+               }
+       }
         RETURN(0);
  clean:
         return rc;