diff options
author | Theodore Ts'o <tytso@mit.edu> | 2023-06-15 00:29:41 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2023-06-15 00:29:41 -0400 |
commit | 2d005701c152ba5924bd1de895747401f87ff2a4 (patch) | |
tree | 0ebb88a6f1646d6ae088447e22b1f0d0280a5bf0 | |
parent | e76886f76dfca6b9228902cff028b3b7b1ac3131 (diff) | |
parent | 43a498e938887956f393b5e45ea6ac79cc5f4b84 (diff) | |
download | e2fsprogs-2d005701c152ba5924bd1de895747401f87ff2a4.tar.gz |
Merge branch 'maint' into next
-rw-r--r-- | e2fsck/pass2.c | 2 | ||||
-rw-r--r-- | resize/main.c | 2 | ||||
-rw-r--r-- | tests/f_inlinedir_bad_symlink/expect.1 | 12 | ||||
-rw-r--r-- | tests/f_inlinedir_bad_symlink/expect.2 | 7 | ||||
-rw-r--r-- | tests/f_inlinedir_bad_symlink/image.gz | bin | 0 -> 1797 bytes | |||
-rw-r--r-- | tests/f_inlinedir_bad_symlink/name | 1 |
6 files changed, 23 insertions, 1 deletions
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c index 2d5fa9aaf..b91628567 100644 --- a/e2fsck/pass2.c +++ b/e2fsck/pass2.c @@ -1524,7 +1524,7 @@ skip_checksum: dirent->inode)) { if (e2fsck_process_bad_inode(ctx, ino, dirent->inode, - buf + fs->blocksize)) { + cd->buf + fs->blocksize)) { dirent->inode = 0; dir_modified++; goto next; diff --git a/resize/main.c b/resize/main.c index 94f5ec6d6..f914c0507 100644 --- a/resize/main.c +++ b/resize/main.c @@ -409,6 +409,8 @@ int main (int argc, char ** argv) if (!(mount_flags & EXT2_MF_MOUNTED) && !print_min_size) io_flags = EXT2_FLAG_RW | EXT2_FLAG_EXCLUSIVE; + if (mount_flags & EXT2_MF_MOUNTED) + io_flags |= EXT2_FLAG_DIRECT_IO; io_flags |= EXT2_FLAG_64BITS | EXT2_FLAG_THREADS; if (undo_file) { diff --git a/tests/f_inlinedir_bad_symlink/expect.1 b/tests/f_inlinedir_bad_symlink/expect.1 new file mode 100644 index 000000000..e1d0e879e --- /dev/null +++ b/tests/f_inlinedir_bad_symlink/expect.1 @@ -0,0 +1,12 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Symlink /a/7 (inode #19) is invalid. +Clear? yes + +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 19/112 files (0.0% non-contiguous), 16/200 blocks +Exit status is 1 diff --git a/tests/f_inlinedir_bad_symlink/expect.2 b/tests/f_inlinedir_bad_symlink/expect.2 new file mode 100644 index 000000000..b881d6573 --- /dev/null +++ b/tests/f_inlinedir_bad_symlink/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: 19/112 files (0.0% non-contiguous), 16/200 blocks +Exit status is 0 diff --git a/tests/f_inlinedir_bad_symlink/image.gz b/tests/f_inlinedir_bad_symlink/image.gz Binary files differnew file mode 100644 index 000000000..c5bd71a3b --- /dev/null +++ b/tests/f_inlinedir_bad_symlink/image.gz diff --git a/tests/f_inlinedir_bad_symlink/name b/tests/f_inlinedir_bad_symlink/name new file mode 100644 index 000000000..f7f7f0d6c --- /dev/null +++ b/tests/f_inlinedir_bad_symlink/name @@ -0,0 +1 @@ +bad symlink in an inline directory |