[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 4 Mar 2013 00:26:16 +0800
From: Zheng Liu <gnehzuil.liu@...il.com>
To: linux-ext4@...r.kernel.org
Cc: Zheng Liu <wenqing.lz@...bao.com>
Subject: [PATCH 0/2] fixup bugs in e2fsprogs that is reported by xfstests #218
Hi all,
This patch series tries to fixup bugs in e2fsprogs that is reported by
xfstests #218 (This patch [1] need to be applied to fix a bug for #218).
The first commit tries to fix a e4defrag bug, which makes e4defrag to
defrag a ext4 file when orig_physcial_cnt == donor_physical_cnt. The
second one fixes a bug in filefrag that miss calculates contiguous
extents.
After applied this patch series, #218 can pass in the following cass:
4k Block
4K Block w/ dioread_nolock
The following cases will fail because in #218 it use 'dd' command to
create a contiguous file. But it could be failed. After using 'xfs_io'
command, this failure disappears.
4K Block w/ ^flex_bg, nodelalloc
4K Block w/ ^has_journal
The following cases fail because of other reasons.
* 4K Block w/ data=journal
218 3s ... - output mismatch (see 218.out.bad)
--- 218.out 2013-02-07 22:56:14.000000000 +0800
+++ 218.out.bad 2013-03-04 00:15:43.000000000 +0800
@@ -10,7 +10,7 @@
After: 1
Write backwards sync, but contiguous - should defrag to 1 extent
Before: 10
-After: 1
+After: 10
Write backwards sync leaving holes - defrag should do nothing
Before: 16
...
(Run 'diff -u 218.out 218.out.bad' to see the entire diff)
Ran: 218
Failures: 218
Failed 1 of 1 tests
* 4k Block w/ metadata_csum
FSTYP -- ext4
PLATFORM -- Linux/x86_64 lz-desktop 3.8.0
MKFS_OPTIONS -- -O metadata_csum /dev/sda2
MOUNT_OPTIONS -- -o acl,user_xattr /dev/sda2 /mnt/sda2
218 2s ... [failed, exit status 1] - output mismatch (see 218.out.bad)
--- 218.out 2013-02-07 22:56:14.000000000 +0800
+++ 218.out.bad 2013-03-03 22:37:37.000000000 +0800
@@ -10,10 +10,7 @@
After: 1
Write backwards sync, but contiguous - should defrag to 1 extent
Before: 10
-After: 1
-Write backwards sync leaving holes - defrag should do nothing
-Before: 16
-After: 16
...
(Run 'diff -u 218.out 218.out.bad' to see the entire diff)
Ran: 218
Failures: 218
Failed 1 of 1 tests
kernel: EXT4-fs error (device sda2): __ext4_ext_check_block:480: inode #12: comm
filefrag: bad header/extent: extent tree corrupted - magic f30a, entries 1, max
340(340), depth 0(0)
* 1k Block
FSTYP -- ext4
PLATFORM -- Linux/x86_64 lz-desktop 3.8.0
MKFS_OPTIONS -- -b 1024 /dev/sda2
MOUNT_OPTIONS -- -o acl,user_xattr /dev/sda2 /mnt/sda2
218 2s ... - output mismatch (see 218.out.bad)
--- 218.out 2013-02-07 22:56:14.000000000 +0800
+++ 218.out.bad 2013-03-03 22:41:58.000000000 +0800
@@ -9,7 +9,7 @@
Before: 1
After: 1
Write backwards sync, but contiguous - should defrag to 1 extent
-Before: 10
+Before: 7
After: 1
Write backwards sync leaving holes - defrag should do nothing
...
(Run 'diff -u 218.out 218.out.bad' to see the entire diff)
Ran: 218
Failures: 218
Failed 1 of 1 tests
1. http://permalink.gmane.org/gmane.comp.file-systems.ext4/37366
Regards,
- Zheng
Zheng Liu (2):
e4defrag: defrag a file when orig_physical_cnt == donor_physical_cnt
filefrag: count a contiguous extent when both logical and physical
blocks are contiguous
misc/e4defrag.c | 2 +-
misc/filefrag.c | 49 ++++++++++++++++++++++++++++++++-----------------
2 files changed, 33 insertions(+), 18 deletions(-)
--
1.7.12.rc2.18.g61b472e
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists