Whamcloud - gitweb
LU-8465 e2fsck: fix build for make rpm 60/40060/2
authorWang Shilong <wshilong@ddn.com>
Sat, 26 Sep 2020 07:41:58 +0000 (15:41 +0800)
committerAndreas Dilger <adilger@whamcloud.com>
Sun, 27 Sep 2020 05:16:57 +0000 (05:16 +0000)
Two problems addressed by this patch:

1)link e2fsck with -lpthread properly to make rpm pass.
2)a bounch of ext2fs_get_avg_group() unused warning messages are
annoying, move it to rw_bitmaps.c to make gcc happy.

Signed-off-by: Wang Shilong <wshilong@ddn.com>
Change-Id: Ia7d372b7b5aadcbf5d94916f6f67363a2a9f0bfa
Reviewed-on: https://review.whamcloud.com/40060
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
MCONFIG.in
e2fsck/Makefile.in
lib/ext2fs/ext2fs.h
lib/ext2fs/rw_bitmaps.c

index e534bf2..e2a7f76 100644 (file)
@@ -144,6 +144,7 @@ DEPLIBUUID = @DEPLIBUUID@
 DEPLIBSUPPORT = $(LIB)/libsupport@STATIC_LIB_EXT@
 DEPLIBBLKID = @DEPLIBBLKID@ @PRIVATE_LIBS_CMT@ $(DEPLIBUUID)
 TESTENV = LD_LIBRARY_PATH="$(LIB):$${LD_LIBRARY_PATH}" DYLD_LIBRARY_PATH="$(LIB):$${DYLD_LIBRARY_PATH}"
+SEM_INIT_LIB = @SEM_INIT_LIB@
 
 STATIC_LIBSS = $(LIB)/libss@STATIC_LIB_EXT@ @DLOPEN_LIB@
 STATIC_LIBCOM_ERR = $(LIB)/libcom_err@STATIC_LIB_EXT@ @SEM_INIT_LIB@
index 3fdbfbd..4b8774e 100644 (file)
@@ -16,20 +16,21 @@ MANPAGES=   e2fsck.8
 FMANPAGES=     e2fsck.conf.5
 
 LIBS= $(LIBSUPPORT) $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBBLKID) $(LIBUUID) \
-       $(LIBINTL) $(LIBE2P) $(LIBMAGIC) $(SYSLIBS)
+       $(LIBINTL) $(LIBE2P) $(LIBMAGIC) $(SYSLIBS) $(SEM_INIT_LIB)
 DEPLIBS= $(DEPLIBSUPPORT) $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBBLKID) \
         $(DEPLIBUUID) $(DEPLIBE2P)
 
 STATIC_LIBS= $(STATIC_LIBSUPPORT) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) \
             $(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(LIBINTL) $(STATIC_LIBE2P) \
-            $(LIBMAGIC) $(SYSLIBS)
+            $(LIBMAGIC) $(SYSLIBS) $(SEM_INIT_LIB)
 STATIC_DEPLIBS= $(DEPSTATIC_LIBSUPPORT) $(STATIC_LIBEXT2FS) \
                $(DEPSTATIC_LIBCOM_ERR) $(DEPSTATIC_LIBBLKID) \
                $(DEPSTATIC_LIBUUID) $(DEPSTATIC_LIBE2P)
 
 PROFILED_LIBS= $(PROFILED_LIBSUPPORT) $(PROFILED_LIBEXT2FS) \
               $(PROFILED_LIBCOM_ERR) $(PROFILED_LIBBLKID) $(PROFILED_LIBUUID) \
-              $(PROFILED_LIBE2P) $(LIBINTL) $(LIBMAGIC) $(SYSLIBS)
+              $(PROFILED_LIBE2P) $(LIBINTL) $(LIBMAGIC) $(SYSLIBS) \
+              $(SEM_INIT_LIB)
 PROFILED_DEPLIBS= $(DEPPROFILED_LIBSUPPORT) $(PROFILED_LIBEXT2FS) \
                  $(DEPPROFILED_LIBCOM_ERR) $(DEPPROFILED_LIBBLKID) \
                  $(DEPPROFILED_LIBUUID) $(DEPPROFILED_LIBE2P)
@@ -111,7 +112,7 @@ all:: profiled $(PROGS) e2fsck $(MANPAGES) $(FMANPAGES)
 
 e2fsck: $(OBJS)  $(DEPLIBS)
        $(E) "  LD $@"
-       $(Q) $(LD) $(ALL_LDFLAGS) $(RDYNAMIC) -o e2fsck $(OBJS) $(LIBS) 
+       $(Q) $(LD) $(ALL_LDFLAGS) $(RDYNAMIC) -o e2fsck $(OBJS) $(LIBS)
 
 e2fsck.static: $(OBJS) $(STATIC_DEPLIBS)
        $(E) "  LD $@"
index f84f728..ba94b28 100644 (file)
@@ -2154,35 +2154,7 @@ ext2fs_const_inode(const struct ext2_inode_large * large_inode)
        return (const struct ext2_inode *) large_inode;
 }
 
-static dgrp_t ext2fs_get_avg_group(ext2_filsys fs)
-{
-#ifdef CONFIG_PFSCK
-       dgrp_t average_group;
-       unsigned flexbg_size;
-
-       if (fs->fs_num_threads <= 1)
-               return fs->group_desc_count;
-
-       average_group = fs->group_desc_count / fs->fs_num_threads;
-       if (average_group <= 1)
-               return 1;
-
-       if (ext2fs_has_feature_flex_bg(fs->super)) {
-               int times = 1;
-
-               flexbg_size = 1 << fs->super->s_log_groups_per_flex;
-               if (average_group % flexbg_size) {
-                       times = average_group / flexbg_size;
-                       average_group = times * flexbg_size;
-               }
-       }
-
-       return average_group;
-#else
-       return fs->group_desc_count;
-#endif
-}
-
+dgrp_t ext2fs_get_avg_group(ext2_filsys fs);
 #undef _INLINE_
 #endif
 
index 960a691..95de9b1 100644 (file)
@@ -515,6 +515,31 @@ struct read_bitmaps_thread_info {
        io_channel      rbt_io;
 };
 
+dgrp_t ext2fs_get_avg_group(ext2_filsys fs)
+{
+       dgrp_t average_group;
+       unsigned flexbg_size;
+
+       if (fs->fs_num_threads <= 1)
+               return fs->group_desc_count;
+
+       average_group = fs->group_desc_count / fs->fs_num_threads;
+       if (average_group <= 1)
+               return 1;
+
+       if (ext2fs_has_feature_flex_bg(fs->super)) {
+               int times = 1;
+
+               flexbg_size = 1 << fs->super->s_log_groups_per_flex;
+               if (average_group % flexbg_size) {
+                       times = average_group / flexbg_size;
+                       average_group = times * flexbg_size;
+               }
+       }
+
+       return average_group;
+}
+
 static void* read_bitmaps_thread(void *data)
 {
        struct read_bitmaps_thread_info *rbt = data;