[PATCH 0/4] ext4: cleanup and bugfixes for grow/shrink logic

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

 



Hi, finally have some time to run some tests on recent kernels.
And it appeared that fallocate interface is buggy
 - fallocate: result in fsck complain due to blocks beyond i_size
   without  EOFBLOCKS_FL
 - punch_hole: also provoke fsck complain and even EIO due to
   incorrect EOFBLOCKS_FL update

#LOG:
#Following two patches are mostly cleanup 
ext4-cleanup-ext4_ext_grow_indepth-code.patch
ext4-move-inode-indepth-shrink-logic-to-didicated-fu.patch
# Later patches are fixes for issues.
ext4-Do-not-clear-EOFBLOCKS_FL-too-soon.patch
ext4-fix-punch_hole-extend-handler.patch
I've also attached my temp testcase for both issues
Will submit generic xfstests based on it soon.

########### TESTCASE###################
#! /bin/bash
#############################################################################
# dmonakhov@xxxxxxxxxx
# Trivial fsstress test  
# TODO: Add to xfstests
# Required patches
# kill fsstress reliably
#  Message-Id: <1316357699-22692-1-git-send-email-dmonakhov@xxxxxxxxxx>
# In order unresvsp to work kernel should contain following patch
#  Message-Id: <1316528400-1797-1-git-send-email-dmonakhov@xxxxxxxxxx>
#############################################################################
# FIXES FOR ext4.git:3.1.0-rc2+
#0001-ext4-cleanup-ext4_ext_grow_indepth-code.patch
#0002-ext4-move-inode-indepth-shrink-logic-to-didicated-fu.patch
#0003-ext4-Do-not-clear-EOFBLOCKS_FL-too-soon.patch
#0004-ext4-fix-punch_hole-extend-handler.patch
#############################################################################
IMG=/dev/sdc
MNT=./mnt
#MNT_EXTRA_OPS="-oloop"
## Create small image
#dd if=/dev/zero of=$IMG bs=1M count=1024000
mkfs.ext4 -F -b4096 $IMG 102400
mkdir -p $MNT
mount -text4 $IMG $MNT $MNT_EXTRA_OPS || exit
## Run stress
~/fsstress -p8 -f fsync=0 -f sync=0 -f fdatasync=0 -f setattr=0  -f unresvsp=2 -d $MNT/TEST -n99999999 &
PID=$!
## dd writers will do write/truncate =>  ENOSPC condition
for ((i=0;i < 10;i++))
do
    dd if=/dev/zero of=$MNT/FILE bs=1M
    sleep 2
done
kill $!
wait $!
umount $MNT
fsck.ext4 -f -n $IMG

--
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