(2011/05/31 15:13), liubo wrote: > On 05/31/2011 12:31 PM, Tsutomu Itoh wrote: >> (2011/05/31 10:13), Chris Mason wrote: >>> Excerpts from Tsutomu Itoh's message of 2011-05-30 20:27:51 -0400: >>>> The panic occurred when 'btrfs fi bal /test5' was executed. >>>> >>>> /test5 is as follows: >>>> # mount -o space_cache,compress=lzo /dev/sdc3 /test5 >>>> # >>>> # btrfs fi sh /dev/sdc3 >>>> Label: none uuid: 38ec48b2-a64b-4225-8cc6-5eb08024dc64 >>>> Total devices 5 FS bytes used 7.87MB >>>> devid 1 size 10.00GB used 2.02GB path /dev/sdc3 >>>> devid 2 size 15.01GB used 3.00GB path /dev/sdc5 >>>> devid 3 size 15.01GB used 3.00GB path /dev/sdc6 >>>> devid 4 size 20.01GB used 2.01GB path /dev/sdc7 >>>> devid 5 size 10.00GB used 2.01GB path /dev/sdc8 >>>> >>>> Btrfs v0.19-50-ge6bd18d >>>> # btrfs fi df /test5 >>>> Data, RAID0: total=10.00GB, used=3.52MB >>>> Data: total=8.00MB, used=1.60MB >>>> System, RAID1: total=8.00MB, used=4.00KB >>>> System: total=4.00MB, used=0.00 >>>> Metadata, RAID1: total=1.00GB, used=216.00KB >>>> Metadata: total=8.00MB, used=0.00 >>> The oops is happening as we write inode cache during a commit during thekk >>> balance. I did run a number of balances on the inode cache code, do you >>> have a test script that sets up the filesystem to recreate this? >> >> Yes, I have. >> In my test, the panic is done at frequency once every about ten times. >> >> I attached the test script to this mail. (though it is a dirty test script >> that scrapes up script...) >> > > I'm getting it to run, hope we can get something valuable. ;) I executed again, the write error occurred though the panic have not occurred. See below: ============================= ... + sleep 30 + ./fsync3.sh Tue May 31 13:50:57 JST 2011 + btrfs fi bal /test5 + wait write error: Inappropriate ioctl for device cmp: EOF on /test5/_de100.t ... ... $ ls -l /test5/_de100* -rw-r--r-- 1 root root 3000000000 May 31 13:56 /test5/_de100.f -rw-r--r-- 1 root root 607789056 May 31 13:56 /test5/_de100.t write error occurred by writing in /test5/_de100.t or mistake of error number? (it should be ENOSPC??) (operation: copy from /test5/_de100.f to /test5/_de100.t) ============================= And, in my environment, it seems to be easy for the script attached to this mail to do the panic. > > thanks, > liubo > >> Thanks, >> Tsutomu >> >> >>> -chris >>>
Attachment:
RT2.tar.gz
Description: application/gzip
