fsck.gfs2 is the only remaining util that builds journals this way so
move it out of libgfs2. The debug printfs can be removed because
fsck.gfs2 doesn't enable libgfs2's cfg_debug.

Signed-off-by: Andrew Price <anpr...@redhat.com>
---
 gfs2/fsck/fs_recovery.c   | 21 +++++++++++++++++++++
 gfs2/fsck/fs_recovery.h   |  1 +
 gfs2/fsck/pass2.c         |  1 +
 gfs2/libgfs2/libgfs2.h    |  1 -
 gfs2/libgfs2/structures.c | 29 -----------------------------
 5 files changed, 23 insertions(+), 30 deletions(-)

diff --git a/gfs2/fsck/fs_recovery.c b/gfs2/fsck/fs_recovery.c
index 48d98626..e5cde051 100644
--- a/gfs2/fsck/fs_recovery.c
+++ b/gfs2/fsck/fs_recovery.c
@@ -848,6 +848,27 @@ static struct metawalk_fxns jindex_check_fxns = {
        .check_dentry = check_jindex_dent,
 };
 
+int build_jindex(struct gfs2_sbd *sdp)
+{
+       struct gfs2_inode *jindex;
+
+       jindex = createi(sdp->master_dir, "jindex", S_IFDIR | 0700,
+                        GFS2_DIF_SYSTEM);
+       if (jindex == NULL) {
+               return errno;
+       }
+       sdp->md.journal = malloc(sdp->md.journals * sizeof(struct gfs2_inode 
*));
+       for (unsigned j = 0; j < sdp->md.journals; j++) {
+               int ret = build_journal(sdp, j, jindex);
+               if (ret)
+                       return ret;
+               inode_put(&sdp->md.journal[j]);
+       }
+       free(sdp->md.journal);
+       inode_put(&jindex);
+       return 0;
+}
+
 /**
  * init_jindex - read in the rindex file
  */
diff --git a/gfs2/fsck/fs_recovery.h b/gfs2/fsck/fs_recovery.h
index d6876274..884d3c43 100644
--- a/gfs2/fsck/fs_recovery.h
+++ b/gfs2/fsck/fs_recovery.h
@@ -8,6 +8,7 @@ extern int replay_journals(struct gfs2_sbd *sdp, int preen, int 
force_check,
 extern int preen_is_safe(struct gfs2_sbd *sdp, int preen, int force_check);
 
 extern int ji_update(struct gfs2_sbd *sdp);
+extern int build_jindex(struct gfs2_sbd *sdp);
 extern int init_jindex(struct gfs2_sbd *sdp, int allow_ji_rebuild);
 #endif /* __FS_RECOVERY_H__ */
 
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index 998b0c96..0ab35b55 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -18,6 +18,7 @@
 #include "lost_n_found.h"
 #include "inode_hash.h"
 #include "afterpass1_common.h"
+#include "fs_recovery.h"
 
 #define MAX_FILENAME 256
 
diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h
index 990a9d9e..9a66b5b3 100644
--- a/gfs2/libgfs2/libgfs2.h
+++ b/gfs2/libgfs2/libgfs2.h
@@ -776,7 +776,6 @@ extern int build_master(struct gfs2_sbd *sdp);
 extern int lgfs2_sb_write(const struct gfs2_sbd *sdp, int fd);
 extern int build_journal(struct gfs2_sbd *sdp, int j,
                         struct gfs2_inode *jindex);
-extern int build_jindex(struct gfs2_sbd *sdp);
 extern struct gfs2_inode *lgfs2_build_jindex(struct gfs2_inode *metafs, struct 
lgfs2_inum *jnls, size_t nmemb);
 extern int build_per_node(struct gfs2_sbd *sdp);
 extern int build_inum(struct gfs2_sbd *sdp);
diff --git a/gfs2/libgfs2/structures.c b/gfs2/libgfs2/structures.c
index de36c4e3..09d7041e 100644
--- a/gfs2/libgfs2/structures.c
+++ b/gfs2/libgfs2/structures.c
@@ -279,35 +279,6 @@ struct gfs2_inode *lgfs2_build_jindex(struct gfs2_inode 
*master, struct lgfs2_in
        return jindex;
 }
 
-int build_jindex(struct gfs2_sbd *sdp)
-{
-       struct gfs2_inode *jindex;
-       unsigned int j;
-       int ret;
-
-       jindex = createi(sdp->master_dir, "jindex", S_IFDIR | 0700,
-                        GFS2_DIF_SYSTEM);
-       if (jindex == NULL) {
-               return errno;
-       }
-       sdp->md.journal = malloc(sdp->md.journals *
-                                sizeof(struct gfs2_inode *));
-       for (j = 0; j < sdp->md.journals; j++) {
-               ret = build_journal(sdp, j, jindex);
-               if (ret)
-                       return ret;
-               inode_put(&sdp->md.journal[j]);
-       }
-       if (cfg_debug) {
-               printf("\nJindex:\n");
-               lgfs2_dinode_print(jindex->i_bh->b_data);
-       }
-
-       free(sdp->md.journal);
-       inode_put(&jindex);
-       return 0;
-}
-
 int build_inum_range(struct gfs2_inode *per_node, unsigned int j)
 {
        char name[256];
-- 
2.34.1

Reply via email to