Whamcloud - gitweb
LU-3106 ofd: create additional symlinks to osd
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Thu, 28 Mar 2013 17:54:47 +0000 (21:54 +0400)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 1 May 2013 06:47:37 +0000 (02:47 -0400)
to preserve compatibility with obdfilter stats:
read_cache_enable, readcache_max_filesize and
writethrough_cache_enable are accessible via
/proc/.../obdfilter/.. again.

Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Change-Id: Iee5315a58c6434f4633692a80f57e68890f5c415
Reviewed-on: http://review.whamcloud.com/5873
Reviewed-by: John Hammond <johnlockwoodhammond@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/ofd/ofd_dev.c

index 29206b3..4c2fec3 100644 (file)
@@ -472,18 +472,38 @@ static void ofd_procfs_add_brw_stats_symlink(struct ofd_device *ofd)
        if (osd_dir == NULL)
                return;
 
        if (osd_dir == NULL)
                return;
 
-       if (lprocfs_srch(osd_dir, "brw_stats") == NULL)
-               return;
-
-       lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
-                           "../../%s/%s/brw_stats",
-                           osd_root->name, osd_dir->name);
+       if (lprocfs_srch(osd_dir, "brw_stats") != NULL)
+               lprocfs_add_symlink("brw_stats", obd->obd_proc_entry,
+                                   "../../%s/%s/brw_stats",
+                                   osd_root->name, osd_dir->name);
+
+       if (lprocfs_srch(osd_dir, "read_cache_enable") != NULL)
+               lprocfs_add_symlink("read_cache_enable", obd->obd_proc_entry,
+                                   "../../%s/%s/read_cache_enable",
+                                   osd_root->name, osd_dir->name);
+
+       if (lprocfs_srch(osd_dir, "readcache_max_filesize") != NULL)
+               lprocfs_add_symlink("readcache_max_filesize",
+                                   obd->obd_proc_entry,
+                                   "../../%s/%s/readcache_max_filesize",
+                                   osd_root->name, osd_dir->name);
+
+       if (lprocfs_srch(osd_dir, "writethrough_cache_enable") != NULL)
+               lprocfs_add_symlink("writethrough_cache_enable",
+                                   obd->obd_proc_entry,
+                                   "../../%s/%s/writethrough_cache_enable",
+                                   osd_root->name, osd_dir->name);
 }
 
 static void ofd_procfs_fini(struct ofd_device *ofd)
 {
        struct obd_device *obd = ofd_obd(ofd);
 
 }
 
 static void ofd_procfs_fini(struct ofd_device *ofd)
 {
        struct obd_device *obd = ofd_obd(ofd);
 
+       lprocfs_remove_proc_entry("writethrough_cache_enable",
+                                 obd->obd_proc_entry);
+       lprocfs_remove_proc_entry("readcache_max_filesize",
+                                 obd->obd_proc_entry);
+       lprocfs_remove_proc_entry("read_cache_enable", obd->obd_proc_entry);
        lprocfs_remove_proc_entry("brw_stats", obd->obd_proc_entry);
        lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
        lprocfs_free_per_client_stats(obd);
        lprocfs_remove_proc_entry("brw_stats", obd->obd_proc_entry);
        lprocfs_remove_proc_entry("clear", obd->obd_proc_exports_entry);
        lprocfs_free_per_client_stats(obd);