From b6c4cadb62d25e91aeebcb619979a9cba6887ebb Mon Sep 17 00:00:00 2001 From: Wang Shilong Date: Sat, 26 Sep 2020 15:41:58 +0800 Subject: [PATCH] LU-8465 e2fsck: fix build for make rpm 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 Change-Id: Ia7d372b7b5aadcbf5d94916f6f67363a2a9f0bfa Reviewed-on: https://review.whamcloud.com/40060 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- MCONFIG.in | 1 + e2fsck/Makefile.in | 9 +++++---- lib/ext2fs/ext2fs.h | 30 +----------------------------- lib/ext2fs/rw_bitmaps.c | 25 +++++++++++++++++++++++++ 4 files changed, 32 insertions(+), 33 deletions(-) diff --git a/MCONFIG.in b/MCONFIG.in index e534bf2..e2a7f76 100644 --- a/MCONFIG.in +++ b/MCONFIG.in @@ -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@ diff --git a/e2fsck/Makefile.in b/e2fsck/Makefile.in index 3fdbfbd..4b8774e 100644 --- a/e2fsck/Makefile.in +++ b/e2fsck/Makefile.in @@ -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 $@" diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index f84f728..ba94b28 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -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 diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c index 960a691..95de9b1 100644 --- a/lib/ext2fs/rw_bitmaps.c +++ b/lib/ext2fs/rw_bitmaps.c @@ -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; -- 1.8.3.1