Whamcloud - gitweb
LU-1581 utils: introduce osd_init() wrapper
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sun, 17 Jun 2012 07:33:00 +0000 (11:33 +0400)
committerAndreas Dilger <adilger@whamcloud.com>
Wed, 4 Jul 2012 22:51:40 +0000 (18:51 -0400)
to load and initialize libraries/modules for different backends

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Iae4ac1bbf87093731686f9362d7f6a71cc704030
Reviewed-on: http://review.whamcloud.com/3226
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/utils/mkfs_lustre.c
lustre/utils/mount_utils.c
lustre/utils/mount_utils.h
lustre/utils/mount_utils_ldiskfs.c

index 0af4fae..35f222c 100644 (file)
@@ -557,6 +557,10 @@ int main(int argc, char *const argv[])
                 print_ldd("Read previous values", &(mop.mo_ldd));
 #endif
 
+       ret = osd_init();
+       if (ret)
+               return ret;
+
         ret = parse_opts(argc, argv, &mop, &mountopts);
         if (ret)
                 goto out;
@@ -706,6 +710,7 @@ int main(int argc, char *const argv[])
 
 out:
         loop_cleanup(&mop);
+       osd_fini();
 
         /* Fix any crazy return values from system() */
         if (ret && ((ret & 255) == 0))
index ad71af0..048aee5 100644 (file)
@@ -480,6 +480,22 @@ int osd_prepare_lustre(struct mkfs_opts *mop,
        return ret;
 }
 
+int osd_init(void)
+{
+       int ret = 0;
+
+       ret = ldiskfs_init();
+       if (ret)
+               return ret;
+
+       return ret;
+}
+
+void osd_fini(void)
+{
+       ldiskfs_fini();
+}
+
 __u64 get_device_size(char* device)
 {
        int ret, fd;
index 6033b58..115003c 100644 (file)
@@ -106,6 +106,8 @@ int osd_make_lustre(struct mkfs_opts *mop);
 int osd_prepare_lustre(struct mkfs_opts *mop,
                       char *default_mountopts, int default_len,
                       char *always_mountopts, int always_len);
+int osd_init(void);
+void osd_fini(void);
 
 int ldiskfs_write_ldd(struct mkfs_opts *mop);
 int ldiskfs_read_ldd(char *dev, struct lustre_disk_data *ldd);
@@ -114,5 +116,7 @@ int ldiskfs_make_lustre(struct mkfs_opts *mop);
 int ldiskfs_prepare_lustre(struct mkfs_opts *mop,
                           char *default_mountopts, int default_len,
                           char *always_mountopts, int always_len);
+int ldiskfs_init(void);
+void ldiskfs_fini(void);
 
 #endif
index e334f58..0159328 100644 (file)
@@ -820,3 +820,16 @@ out:
        return ret;
 }
 
+int ldiskfs_init(void)
+{
+       /* Required because full path to DEBUGFS is not specified */
+       setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin", 0);
+
+       return 0;
+}
+
+void ldiskfs_fini(void)
+{
+       return;
+}
+