[PATCH 0/2] fixup bugs in e2fsprogs that is reported by xfstests #218

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux