From a06369183565bccbbba9a47b6c55622da8a1de85 Mon Sep 17 00:00:00 2001 From: "Ritesh Harjani (IBM)" Date: Mon, 7 Nov 2022 17:50:49 +0530 Subject: [PATCH 01/12] lib/ext2fs: fix unbalanced mutex unlock for BOUNCE_MTX in unix_io f_crashdisk test failed with UNIX_IO_FORCE_BOUNCE=yes due to unbalanced mutex unlock in below path. This patch fixes it. Signed-off-by: Ritesh Harjani (IBM) Signed-off-by: Theodore Ts'o --- lib/ext2fs/unix_io.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c index 353d85afa..3171c7368 100644 --- a/lib/ext2fs/unix_io.c +++ b/lib/ext2fs/unix_io.c @@ -306,7 +306,6 @@ static errcode_t raw_read_blk(io_channel channel, while (size > 0) { actual = read(data->dev, data->bounce, align_size); if (actual != align_size) { - mutex_unlock(data, BOUNCE_MTX); actual = really_read; buf -= really_read; size += really_read; From 46413097b9ae8c14d1a4f16b43106eaa3ac4c16a Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Mon, 9 Jan 2023 21:05:35 -0700 Subject: [PATCH 02/12] tests: fix u_direct_io to work with older losetup Older losetup does not have --sector-size, but this isn't really needed for the test to work. Instead specify the filesystem block size directly to mke2fs, so that it works on all distros instead of being skipped. Change-Id: I5a0c82a9efdefd1b48f4d4288998c7725c9ae71e Signed-off-by: Andreas Dilger Signed-off-by: Theodore Ts'o --- tests/u_direct_io/expect | 2 +- tests/u_direct_io/script | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/u_direct_io/expect b/tests/u_direct_io/expect index 830cbd752..b1511ef10 100644 --- a/tests/u_direct_io/expect +++ b/tests/u_direct_io/expect @@ -1,4 +1,4 @@ -mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP +mke2fs -F -b 4096 -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP Creating filesystem with 32768 4k blocks and 32768 inodes Allocating group tables: done diff --git a/tests/u_direct_io/script b/tests/u_direct_io/script index b4f07752c..2f80e6402 100644 --- a/tests/u_direct_io/script +++ b/tests/u_direct_io/script @@ -8,14 +8,14 @@ elif test ! -x $DEBUGFS_EXE; then echo "$test_name: $DESCRIPTION: skipped (no debugfs)" else dd if=/dev/zero of=$TMPFILE bs=1M count=128 > /dev/null 2>&1 - LOOP=$(losetup --show --sector-size 4096 -f $TMPFILE) + LOOP=$(losetup --show -f $TMPFILE 2>&1) if [ ! -b "$LOOP" ]; then echo "$test_name: $DESCRIPTION: skipped (no loop devices)" rm -f $TMPFILE exit 0 fi - echo mke2fs -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D \$LOOP > $OUT - $MKE2FS -F -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP 2>&1 | \ + echo mke2fs -F -b 4096 -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D \$LOOP > $OUT + $MKE2FS -F -b 4096 -o Linux -t ext4 -O ^metadata_csum,^uninit_bg -D $LOOP 2>&1 | \ sed -f $cmd_dir/filter.sed >> $OUT echo debugfs -D -R stats \$LOOP >> $OUT From 516d53a42d4ffa79b31f8190530b7ac184d71b06 Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Mon, 9 Jan 2023 21:02:52 -0700 Subject: [PATCH 03/12] tests: fix r_move_itable_realloc to run on Linux The check for the various unsupported OSes incorrectly checked if the string "FreeBSD" was true, which it always was. Fix this. Update the expect file as commit v1.46.4-17-g4ea80d031c7e did to adjust the total number of blocks requested during resize. Change-Id: I272dbec67ab30bac6413eb4cba0e3ab00183b893 Fixes: 5a3ea3905f ("tests: force test file systems to be built for Linux OS") Signed-off-by: Andreas Dilger Signed-off-by: Theodore Ts'o --- tests/r_move_itable_realloc/expect | 2 +- tests/r_move_itable_realloc/script | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/r_move_itable_realloc/expect b/tests/r_move_itable_realloc/expect index 67f2fe4a8..8ce56dbc0 100644 --- a/tests/r_move_itable_realloc/expect +++ b/tests/r_move_itable_realloc/expect @@ -1,6 +1,6 @@ mke2fs -q -F -o Linux -b 1024 -i 1024 -O ^resize_inode -t ext4 test.img 1024000 resize2fs -p test.img 100000000 -Resizing the filesystem on test.img to 100000000 (1k) blocks. +Resizing the filesystem on test.img to 99999745 (1k) blocks. Begin pass 2 (max = 2061) Relocating blocks ----------------------------------------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Begin pass 3 (max = 125) diff --git a/tests/r_move_itable_realloc/script b/tests/r_move_itable_realloc/script index 20c26dbd9..49f8d58a2 100644 --- a/tests/r_move_itable_realloc/script +++ b/tests/r_move_itable_realloc/script @@ -1,5 +1,5 @@ os=$(uname -s) -if [ "$os" = "Darwin" -o "$os" = "GNU" -o "FreeBSD" ]; then +if [ "$os" = "Darwin" -o "$os" = "GNU" -o "$os" = "FreeBSD" ]; then # creates a 96GB filesystem echo "$test_name: $test_description: skipped: skipped for $os" return 0 From 5df0323e879982a3ee5062b2445456226e8b690f Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 7 Feb 2023 22:58:58 -0800 Subject: [PATCH 04/12] ci.yml: store the config.h files as workflow artifacts Store the config.h file for each platform as a workflow artifact, so that it will be possible to download them and compare them to util/android_config.h. Signed-off-by: Eric Biggers Signed-off-by: Theodore Ts'o --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51b27c88d..6b0f91506 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,10 @@ jobs: - run: make -j8 check V=1 CFLAGS_WARN="-Werror" - run: make -j8 install V=1 DESTDIR=$PWD/installdir - run: make -j8 uninstall V=1 DESTDIR=$PWD/installdir + - uses: actions/upload-artifact@v3 + with: + name: ubuntu-config.h + path: lib/config.h i386-build-and-test: name: Build and test with gcc -m32 @@ -79,6 +83,10 @@ jobs: - run: make -j8 check V=1 CFLAGS_WARN="-Werror -Wno-error=deprecated-declarations" - run: make -j8 install DESTDIR=$PWD/installdir - run: make -j8 uninstall DESTDIR=$PWD/installdir + - uses: actions/upload-artifact@v3 + with: + name: macOS-config.h + path: lib/config.h windows-msys2-build: name: Build mke2fs on Windows with ${{matrix.sys}} @@ -114,3 +122,7 @@ jobs: - run: make -j8 -C misc/ mke2fs V=1 CFLAGS_WARN="-Werror" - run: touch image.ext4 - run: misc/mke2fs.exe -T ext4 image.ext4 128M + - uses: actions/upload-artifact@v3 + with: + name: windows-${{matrix.env}}-config.h + path: lib/config.h From 79a7b5e1f387caf907ec88460cdb39b8364bfb0b Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 16 Mar 2023 22:57:10 -0400 Subject: [PATCH 05/12] e2fsck: fix bad htree checksums in preen mode We attempt to fix directories which have a bad/corrupted htree index node by completely rebuilding the directory htree nodes. Since this is a very safe thing to do and has no risk of losing directory entries, we've enabled this for preen mode. Unfortunately, subsequent index nodes look like empty directory entries that fill the entire block --- without a checksum at the end of the directory. So these nodes will be treated as a completely corrupted directory block, and this will *not* be fixed while in preen mode. So add code to treat an empty directory entry which covers the entire block as valid if the directory is already on the list of inodes to be rebuilt. Addresses-Gooogle-Bug: 178607853 Signed-off-by: Theodore Ts'o --- e2fsck/pass2.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c index 287360943..2700e3409 100644 --- a/e2fsck/pass2.c +++ b/e2fsck/pass2.c @@ -1341,7 +1341,18 @@ static int check_dir_block(ext2_filsys fs, (rec_len < min_dir_len) || ((rec_len % 4) != 0) || ((ext2fs_dir_rec_len(ext2fs_dirent_name_len(dirent), - extended)) > rec_len)) { + extended)) > rec_len)) + problem = PR_2_DIR_CORRUPTED; + if (problem) { + if ((offset == 0) && + (rec_len == fs->blocksize) && + (dirent->inode == 0) && + e2fsck_dir_will_be_rehashed(ctx, ino)) { + problem = 0; + max_block_size = fs->blocksize; + } + } + if (problem) { if (fix_problem(ctx, PR_2_DIR_CORRUPTED, &cd->pctx)) { #ifdef WORDS_BIGENDIAN @@ -1573,7 +1584,8 @@ static int check_dir_block(ext2_filsys fs, */ if (!(ctx->flags & E2F_FLAG_RESTART_LATER) && !(ext2fs_test_inode_bitmap2(ctx->inode_used_map, - dirent->inode))) + dirent->inode)) + ) problem = PR_2_UNUSED_INODE; if (problem) { From 2c28057878adf90bb96c07c77e3df2725261b0b6 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 16 Mar 2023 23:17:24 -0400 Subject: [PATCH 06/12] e2fsck: restructure code to reduce indentation level in check_dir_block() No functional changes; just move things around so we can avoid indenting the code quite so much. Signed-off-by: Theodore Ts'o --- e2fsck/pass2.c | 92 +++++++++++++++++++++++++------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c index 2700e3409..47f9206fb 100644 --- a/e2fsck/pass2.c +++ b/e2fsck/pass2.c @@ -1353,56 +1353,56 @@ static int check_dir_block(ext2_filsys fs, } } if (problem) { - if (fix_problem(ctx, PR_2_DIR_CORRUPTED, - &cd->pctx)) { #ifdef WORDS_BIGENDIAN - /* - * On big-endian systems, if the dirent - * swap routine finds a rec_len that it - * doesn't like, it continues - * processing the block as if rec_len - * == EXT2_DIR_ENTRY_HEADER_LEN. This means that the name - * field gets byte swapped, which means - * that salvage will not detect the - * correct name length (unless the name - * has a length that's an exact - * multiple of four bytes), and it'll - * discard the entry (unnecessarily) - * and the rest of the dirent block. - * Therefore, swap the rest of the - * block back to disk order, run - * salvage, and re-swap anything after - * the salvaged dirent. - */ - int need_reswab = 0; - if (rec_len < EXT2_DIR_ENTRY_HEADER_LEN || rec_len % 4) { - need_reswab = 1; - ext2fs_dirent_swab_in2(fs, - ((char *)dirent) + EXT2_DIR_ENTRY_HEADER_LEN, - max_block_size - offset - EXT2_DIR_ENTRY_HEADER_LEN, - 0); - } + int need_reswab = 0; #endif - salvage_directory(fs, dirent, prev, - &offset, - max_block_size, - hash_in_dirent); + + if (!fix_problem(ctx, PR_2_DIR_CORRUPTED, + &cd->pctx)) + goto abort_free_dict; #ifdef WORDS_BIGENDIAN - if (need_reswab) { - unsigned int len; - - (void) ext2fs_get_rec_len(fs, - dirent, &len); - len += offset; - if (max_block_size > len) - ext2fs_dirent_swab_in2(fs, - ((char *)dirent) + len, max_block_size - len, 0); - } + /* + * On big-endian systems, if the dirent + * swap routine finds a rec_len that it + * doesn't like, it continues processing + * the block as if rec_len == + * EXT2_DIR_ENTRY_HEADER_LEN. This means + * that the name field gets byte swapped, + * which means that salvage will not detect + * the correct name length (unless the name + * has a length that's an exact multiple of + * four bytes), and it'll discard the entry + * (unnecessarily) and the rest of the + * dirent block. Therefore, swap the rest + * of the block back to disk order, run + * salvage, and re-swap anything after the + * salvaged dirent. + */ + if (rec_len < EXT2_DIR_ENTRY_HEADER_LEN || + rec_len % 4) { + need_reswab = 1; + ext2fs_dirent_swab_in2(fs, + ((char *)dirent) + EXT2_DIR_ENTRY_HEADER_LEN, + max_block_size - offset - EXT2_DIR_ENTRY_HEADER_LEN, 0); + } #endif - dir_modified++; - continue; - } else - goto abort_free_dict; + salvage_directory(fs, dirent, prev, &offset, + max_block_size, + hash_in_dirent); +#ifdef WORDS_BIGENDIAN + if (need_reswab) { + unsigned int len; + + (void) ext2fs_get_rec_len(fs, dirent, + &len); + len += offset; + if (max_block_size > len) + ext2fs_dirent_swab_in2(fs, + ((char *)dirent) + len, max_block_size - len, 0); + } +#endif + dir_modified++; + continue; } } else { if (dot_state == 0) { From cbc6a5ae4f350bfb0dd0daa39544615a5d0a956a Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 16 Mar 2023 23:29:28 -0400 Subject: [PATCH 07/12] tests: add test for "e2fsck: fix bad htree checksums in preen mode" Add a test for commit bbe08adac044 ("e2fsck: fix bad htree checksums in preen mode"). Signed-off-by: Theodore Ts'o --- tests/f_preen_htree_csum/expect.1 | 4 ++++ tests/f_preen_htree_csum/expect.2 | 7 +++++++ tests/f_preen_htree_csum/image.gz | Bin 0 -> 144617 bytes tests/f_preen_htree_csum/name | 1 + tests/f_preen_htree_csum/script | 2 ++ 5 files changed, 14 insertions(+) create mode 100644 tests/f_preen_htree_csum/expect.1 create mode 100644 tests/f_preen_htree_csum/expect.2 create mode 100644 tests/f_preen_htree_csum/image.gz create mode 100644 tests/f_preen_htree_csum/name create mode 100644 tests/f_preen_htree_csum/script diff --git a/tests/f_preen_htree_csum/expect.1 b/tests/f_preen_htree_csum/expect.1 new file mode 100644 index 000000000..bbd81944b --- /dev/null +++ b/tests/f_preen_htree_csum/expect.1 @@ -0,0 +1,4 @@ +test_filesys: Problem in HTREE directory inode 12: internal node fails checksum. +HTREE INDEX CLEARED. +test_filesys: 8204/10000 files (0.0% non-contiguous), 1551/4096 blocks +Exit status is 1 diff --git a/tests/f_preen_htree_csum/expect.2 b/tests/f_preen_htree_csum/expect.2 new file mode 100644 index 000000000..0730c4a3a --- /dev/null +++ b/tests/f_preen_htree_csum/expect.2 @@ -0,0 +1,7 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +test_filesys: 8204/10000 files (0.0% non-contiguous), 1551/4096 blocks +Exit status is 0 diff --git a/tests/f_preen_htree_csum/image.gz b/tests/f_preen_htree_csum/image.gz new file mode 100644 index 0000000000000000000000000000000000000000..94ce8e1426698daaaa39121d2dffabbf2c90dd4c GIT binary patch literal 144617 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 z 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

Isz!mimdfn}_ZY9)jJj}^ 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

    _FxnC5o)!Cw&NRYs5bhi}@FLWZB6 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 J+47Gq{{7)Pv literal 0 HcmV?d00001 diff --git a/tests/f_preen_htree_csum/name b/tests/f_preen_htree_csum/name new file mode 100644 index 000000000..c915eec29 --- /dev/null +++ b/tests/f_preen_htree_csum/name @@ -0,0 +1 @@ +fix a bad htree checksum in preen mode diff --git a/tests/f_preen_htree_csum/script b/tests/f_preen_htree_csum/script new file mode 100644 index 000000000..23ab8b6aa --- /dev/null +++ b/tests/f_preen_htree_csum/script @@ -0,0 +1,2 @@ +FSCK_OPT=-pf +. $cmd_dir/run_e2fsck From b3507cc9614e0a9f93feb552d4da15a3b07b9728 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Fri, 14 Apr 2023 11:41:25 -0400 Subject: [PATCH 08/12] blkidP.h: add missing extern "C" declaration Signed-off-by: Theodore Ts'o --- lib/blkid/blkidP.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/blkid/blkidP.h b/lib/blkid/blkidP.h index b3fe4a668..68ea5724f 100644 --- a/lib/blkid/blkidP.h +++ b/lib/blkid/blkidP.h @@ -23,9 +23,12 @@ #endif #include - #include +#ifdef __cplusplus +extern "C" { +#endif + #ifdef __GNUC__ #define __BLKID_ATTR(x) __attribute__(x) #else From c8ae60988c1240a7305dd6fe1dabda30da74ffc5 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 21 Mar 2023 20:29:43 -0700 Subject: [PATCH 09/12] e2fsck: avoid -Wtautological-constant-out-of-range-compare warnings Fix two compiler warnings on 32-bit platforms that have mallinfo() but not mallinfo2(). These showed up when building e2fsprogs for armv7a or i686 Android using the Android NDK, targeting Android API level 32 or lower and using the autotools-based build system. Signed-off-by: Eric Biggers Signed-off-by: Theodore Ts'o --- e2fsck/iscan.c | 3 ++- e2fsck/util.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c index 33c6a4cdc..1253f52ff 100644 --- a/e2fsck/iscan.c +++ b/e2fsck/iscan.c @@ -120,7 +120,8 @@ void print_resource_track(const char *desc, } else #elif defined HAVE_MALLINFO /* don't use mallinfo() if over 2GB used, since it returns "int" */ - if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) { + if ((unsigned long)((char *)sbrk(0) - (char *)track->brk_start) < + 2UL << 30) { struct mallinfo malloc_info = mallinfo(); printf("Memory used: %lluk/%lluk (%lluk/%lluk), ", diff --git a/e2fsck/util.c b/e2fsck/util.c index 42740d9ef..0fe436031 100644 --- a/e2fsck/util.c +++ b/e2fsck/util.c @@ -441,7 +441,8 @@ void print_resource_track(e2fsck_t ctx, const char *desc, } else #elif defined HAVE_MALLINFO /* don't use mallinfo() if over 2GB used, since it returns "int" */ - if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) { + if ((unsigned long)((char *)sbrk(0) - (char *)track->brk_start) < + 2UL << 30) { struct mallinfo malloc_info = mallinfo(); log_out(ctx, _("Memory used: %lluk/%lluk (%lluk/%lluk), "), From 5598a968f3ee2ba5a8a6b988343905a2831f963c Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 21 Mar 2023 20:29:44 -0700 Subject: [PATCH 10/12] e2freefrag: don't use linux/fsmap.h when fsmap_sizeof() is missing Work around an issue with the Android NDK where its copy of linux/fsmap.h is missing the inline functions fsmap_sizeof() and fsmap_advance(). This was causing an error when building e2fsprogs using the Android NDK, using the autotools-based build system. Signed-off-by: Eric Biggers Signed-off-by: Theodore Ts'o --- configure | 91 +++++++++++++++++++++++++++++++---------------- configure.ac | 6 ++++ lib/config.h.in | 3 ++ misc/e2freefrag.c | 2 +- 4 files changed, 70 insertions(+), 32 deletions(-) diff --git a/configure b/configure index b0e8d1bf8..72c39b4d3 100755 --- a/configure +++ b/configure @@ -8678,7 +8678,7 @@ else $as_nop *-*-aix*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 +#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail @@ -8969,7 +8969,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # be generating 64-bit code. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 +#if defined __powerpc64__ || defined __LP64__ int ok; #else error fail @@ -9076,7 +9076,7 @@ then : else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __ELF__ +#if defined __ELF__ || (defined __linux__ && defined __EDG__) Extensible Linking Format #endif @@ -9094,7 +9094,7 @@ rm -rf conftest* fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_elf" >&5 printf "%s\n" "$gl_cv_elf" >&6; } - if test $gl_cv_elf; then + if test $gl_cv_elf = yes; then # Extract the ELF class of a file (5th byte) in decimal. # Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header if od -A x < /dev/null >/dev/null 2>/dev/null; then @@ -9111,19 +9111,22 @@ printf "%s\n" "$gl_cv_elf" >&6; } echo } fi + # Use 'expr', not 'test', to compare the values of func_elfclass, because on + # Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002, + # not 1 or 2. case $HOST_CPU_C_ABI_32BIT in yes) # 32-bit ABI. acl_is_expected_elfclass () { - test "`func_elfclass | sed -e 's/[ ]//g'`" = 1 + expr "`func_elfclass | sed -e 's/[ ]//g'`" = 1 > /dev/null } ;; no) # 64-bit ABI. acl_is_expected_elfclass () { - test "`func_elfclass | sed -e 's/[ ]//g'`" = 2 + expr "`func_elfclass | sed -e 's/[ ]//g'`" = 2 > /dev/null } ;; *) @@ -9653,7 +9656,14 @@ fi fi ;; -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + dep=`echo "X$dep" | sed -e 's/^X-l//'` + if test "X$dep" != Xc \ + || case $host_os in + linux* | gnu* | k*bsd*-gnu) false ;; + *) true ;; + esac; then + names_next_round="$names_next_round $dep" + fi ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` @@ -10015,8 +10025,9 @@ int main (void) { int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ + /* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from + successful returns. This is even documented in + */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) @@ -10598,7 +10609,14 @@ fi fi ;; -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + dep=`echo "X$dep" | sed -e 's/^X-l//'` + if test "X$dep" != Xc \ + || case $host_os in + linux* | gnu* | k*bsd*-gnu) false ;; + *) true ;; + esac; then + names_next_round="$names_next_round $dep" + fi ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` @@ -12336,6 +12354,15 @@ then : printf "%s\n" "#define HAVE_LSEEK64_PROTOTYPE 1" >>confdefs.h +fi + +ac_fn_check_decl "$LINENO" "fsmap_sizeof" "ac_cv_have_decl_fsmap_sizeof" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_fsmap_sizeof" = xyes +then : + +printf "%s\n" "#define HAVE_FSMAP_SIZEOF 1" >>confdefs.h + fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects @@ -14776,11 +14803,11 @@ if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 printf %s "checking for $CXX option to enable C++11 features... " >&6; } -if test ${ac_cv_prog_cxx_cxx11+y} +if test ${ac_cv_prog_cxx_11+y} then : printf %s "(cached) " >&6 else $as_nop - ac_cv_prog_cxx_cxx11=no + ac_cv_prog_cxx_11=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14822,11 +14849,11 @@ if test x$ac_prog_cxx_stdcxx = xno then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 printf %s "checking for $CXX option to enable C++98 features... " >&6; } -if test ${ac_cv_prog_cxx_cxx98+y} +if test ${ac_cv_prog_cxx_98+y} then : printf %s "(cached) " >&6 else $as_nop - ac_cv_prog_cxx_cxx98=no + ac_cv_prog_cxx_98=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15166,7 +15193,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -15175,25 +15202,25 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - udev_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udev" 2>&1` + udev_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "udev" 2>&1` else - udev_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udev" 2>&1` + udev_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "udev" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$udev_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$udev_PKG_ERRORS" >&5 with_udev_rules_dir="" elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } with_udev_rules_dir="" else - udev_CFLAGS=$pkg_cv_udev_CFLAGS - udev_LIBS=$pkg_cv_udev_LIBS + udev_CFLAGS=$pkg_cv_udev_CFLAGS + udev_LIBS=$pkg_cv_udev_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -15335,7 +15362,7 @@ fi if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -15344,25 +15371,25 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - systemd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "systemd" 2>&1` + systemd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "systemd" 2>&1` else - systemd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "systemd" 2>&1` + systemd_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "systemd" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$systemd_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$systemd_PKG_ERRORS" >&5 with_systemd_unit_dir="" elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } with_systemd_unit_dir="" else - systemd_CFLAGS=$pkg_cv_systemd_CFLAGS - systemd_LIBS=$pkg_cv_systemd_LIBS + systemd_CFLAGS=$pkg_cv_systemd_CFLAGS + systemd_LIBS=$pkg_cv_systemd_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -17029,7 +17056,9 @@ printf "%s\n" "$as_me: executing $ac_file commands" >&6;} # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in - "$presentlang"*) useit=yes;; + "$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*) + useit=yes + ;; esac done if test $useit = yes; then diff --git a/configure.ac b/configure.ac index 017a96ffe..b905e9992 100644 --- a/configure.ac +++ b/configure.ac @@ -1107,6 +1107,12 @@ AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, [#define _LARGEFILE_SOURCE #define _LARGEFILE64_SOURCE #include ]) + +dnl The Android NDK has , but it is missing the inline functions +dnl fsmap_sizeof() and fsmap_advance(). Check whether this is the case. +AC_CHECK_DECL(fsmap_sizeof,[AC_DEFINE(HAVE_FSMAP_SIZEOF, 1, + [Define to 1 if fsmap_sizeof() is declared in linux/fsmap.h])],, + [#include ]) dnl dnl Word sizes... dnl diff --git a/lib/config.h.in b/lib/config.h.in index ab38266f6..076c38235 100644 --- a/lib/config.h.in +++ b/lib/config.h.in @@ -109,6 +109,9 @@ /* Define to 1 if you have the `fdatasync' function. */ #undef HAVE_FDATASYNC +/* Define to 1 if fsmap_sizeof() is declared in linux/fsmap.h */ +#undef HAVE_FSMAP_SIZEOF + /* Define to 1 if you have the `fstat64' function. */ #undef HAVE_FSTAT64 diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c index 49b6346e4..04f155b60 100644 --- a/misc/e2freefrag.c +++ b/misc/e2freefrag.c @@ -38,7 +38,7 @@ extern int optind; #include "e2freefrag.h" #if defined(HAVE_EXT2_IOCTLS) && !defined(DEBUGFS) -# ifdef HAVE_LINUX_FSMAP_H +# if defined(HAVE_LINUX_FSMAP_H) && defined(HAVE_FSMAP_SIZEOF) # include # endif # include "fsmap.h" From 018ddcb29239fbd0a16a54e00613954e2d88b2b6 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 21 Mar 2023 20:29:45 -0700 Subject: [PATCH 11/12] ci.yml: test cross-compiling for Android Add jobs that cross-compile e2fsprogs for Android using the Android NDK. These use the autotools-based build system, so they're a bit different from the actual Android builds, but they should still be useful. Signed-off-by: Eric Biggers Signed-off-by: Theodore Ts'o --- .github/workflows/ci.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b0f91506..0c14250a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -126,3 +126,36 @@ jobs: with: name: windows-${{matrix.env}}-config.h path: lib/config.h + + # Jobs that cross-compile e2fsprogs for Android using the Android NDK. Note + # that these use the autotools-based build system, which makes them a bit + # different from the actual Android builds from the Android source tree. + cross-compile-for-android: + name: Cross-compile for Android (${{matrix.arch}}) + strategy: + matrix: + include: + - { arch: aarch64, target: aarch64-linux-android } + - { arch: armv7a, target: armv7a-linux-androideabi } + - { arch: i686, target: i686-linux-android } + - { arch: x86_64, target: x86_64-linux-android } + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + # See https://developer.android.com/ndk/guides/other_build_systems#autoconf + - name: configure + run: | + TOOLCHAIN=$ANDROID_NDK_LATEST_HOME/toolchains/llvm/prebuilt/linux-x86_64 + API_LEVEL=29 # Android 10 + export AR=$TOOLCHAIN/bin/llvm-ar + export CC=$TOOLCHAIN/bin/${{matrix.target}}${API_LEVEL}-clang + export AS=$CC + export LD=$TOOLCHAIN/bin/ld + export RANLIB=$TOOLCHAIN/bin/llvm-ranlib + export STRIP=$TOOLCHAIN/bin/llvm-strip + ./configure --host=${{matrix.target}} CFLAGS="$DEF_CFLAGS" + - run: make -j8 V=1 CFLAGS_WARN="-Werror" + - uses: actions/upload-artifact@v3 + with: + name: android-${{matrix.arch}}-config.h + path: lib/config.h From 74571d9430da149fa46a0f7ef171920ebe9a7b8c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 31 May 2023 12:11:53 -0400 Subject: [PATCH 12/12] libsupport: fix function prototype for quota_write_inode() Commit 2d2d799c7261 ("Clean up codes for adding new quota type") changed the second paramter of quota_write_inode() from taking a single quota type to taking a logical OR of (1 << quota_types). The one thing this commit didn't change was the function prototype for quota_write_inode() in the header file from an enum to an unsigned int. Most C compilers don't seem to mind, and omission is mostly harmless. However, mingw64 does issue a warning which gets promoted to an error. Fixes: 2d2d799c7261 ("Clean up codes for adding new quota type") Signed-off-by: Theodore Ts'o --- lib/support/quotaio.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/support/quotaio.h b/lib/support/quotaio.h index 84fac35dd..390f7dc92 100644 --- a/lib/support/quotaio.h +++ b/lib/support/quotaio.h @@ -16,8 +16,7 @@ * AND/OR * quota_data_add/quota_data_sub/quota_data_inodes(); * } - * quota_write_inode(qctx, USRQUOTA); - * quota_write_inode(qctx, GRPQUOTA); + * quota_write_inode(qctx, (1 << USRQUOTA) | (1 << GRPQUOTA)); * quota_release_context(&qctx); * } * @@ -223,7 +222,7 @@ void quota_data_add(quota_ctx_t qctx, struct ext2_inode_large *inode, ext2_ino_t ino, qsize_t space); void quota_data_sub(quota_ctx_t qctx, struct ext2_inode_large *inode, ext2_ino_t ino, qsize_t space); -errcode_t quota_write_inode(quota_ctx_t qctx, enum quota_type qtype); +errcode_t quota_write_inode(quota_ctx_t qctx, unsigned int qtype_bits); /* Flags for quota_read_all_dquots() */ #define QREAD_USAGE 0x01 #define QREAD_LIMITS 0x02