Hi I ran btrfsck hoping that it fix the filesystem so 'balance' would not crash anymore. But btrfsck itself crashed :(
# btrfsck --repair /dev/sda3 :( enabling repair mode Checking filesystem on /dev/sda3 UUID: 25e6a6fa-fe1f-4be5-a638-eeac948f8c21 checking extents checking fs roots root 5 inode 522858 errors 1000 root 5 inode 1437358 errors 1000 root 5 inode 1437359 errors 1000 root 5 inode 1437360 errors 1000 root 5 inode 1437361 errors 1000 root 5 inode 1437362 errors 1000 root 5 inode 1437363 errors 1000 root 5 inode 1437368 errors 1000 root 5 inode 1437369 errors 1000 root 5 inode 1437370 errors 1000 root 5 inode 1437371 errors 1000 root 5 inode 1437372 errors 1000 root 5 inode 1437373 errors 1000 root 5 inode 1437374 errors 1000 root 5 inode 1437375 errors 1000 root 5 inode 1437376 errors 1000 root 5 inode 1437377 errors 1000 root 5 inode 1437378 errors 1000 root 5 inode 1437379 errors 1000 root 5 inode 1437380 errors 1000 root 5 inode 1437381 errors 1000 root 5 inode 1437382 errors 1000 root 5 inode 1437383 errors 1000 root 5 inode 1437384 errors 1000 root 5 inode 1437385 errors 1000 root 5 inode 1437386 errors 1000 root 5 inode 1437387 errors 1000 root 5 inode 1437388 errors 1000 root 5 inode 1437389 errors 1000 root 5 inode 1437390 errors 1000 root 5 inode 1437391 errors 1000 root 5 inode 1437392 errors 1000 root 5 inode 1437393 errors 1000 root 5 inode 1437394 errors 1000 root 5 inode 1437395 errors 1000 root 5 inode 1437396 errors 1000 root 5 inode 1437397 errors 1000 root 5 inode 1437398 errors 1000 root 5 inode 1437399 errors 1000 root 5 inode 1437400 errors 1000 root 5 inode 5073119 errors 400 Unable to find block group for 0 btrfsck: extent-tree.c:284: find_search_start: Assertion `!(1)' failed. [1] 583 abort (core dumped) btrfsck --repair /dev/sda3 On Thu, Nov 7, 2013 at 8:07 PM, Anatol Pomozov <anatol.pomo...@gmail.com> wrote: > Hi, Frank > > Thanks for your answer. > > On Thu, Nov 7, 2013 at 8:41 AM, Frank Holton <fhol...@gmail.com> wrote: >> Hey Anatol, >> >> I just checked and on my filesystem inode number 362 corresponds to >> part of the free space cache. You can check this yourself by running >> (as root) >> >> btrfs-debug-tree /dev/sdb | grep "(362 " -A 3 -B 1 >> >> where /dev/sdb is one of the devices from your filesystem. >> >> It printed the following for me, note the location key (362 >> INODE_ITEM) under the FREE_SPACE key. Yours might be different but if >> you see FREE_SPACE that points to the free space cache. >> >> item 100 key (362 INODE_ITEM 0) itemoff 21857 itemsize 160 >> inode generation 2004 transid 2004 size 262144 block >> group 0 mode 100600 links 1 >> item 101 key (362 EXTENT_DATA 0) itemoff 21804 itemsize 53 >> extent data disk byte 41903296512 nr 262144 >> extent data offset 0 nr 262144 ram 262144 >> extent compression 0 >> -- >> item 148 key (FREE_SPACE UNTYPED 113845993472) itemoff 23807 >> itemsize 41 >> location key (362 INODE_ITEM 0) >> cache generation 2004 entries 2 bitmaps 0 > > > Indeed my case similar to yours > > # btrfs-debug-tree /dev/sda3 | grep "(309 " -A 3 -B 1 > > item 1 key (309 INODE_ITEM 0) itemoff 3675 itemsize 160 > inode generation 190480 transid 190647 size 0 block group 0 mode > 100600 links 1 > item 51 key (FREE_SPACE UNTYPED 56937676800) itemoff 1863 itemsize 41 > location key (309 INODE_ITEM 0) > > So I mounted my filesystem with 'clear_cache' flag: > > # mount -o clear_cache /dev/sda3 mydata/ > > mount says: > /dev/sdc1 on /root/mydata type btrfs (rw,relatime,space_cache,clear_cache) > > dmesg also mentions the cache: > > [ 634.991845] device fsid 25e6a6fa-fe1f-4be5-a638-eeac948f8c21 devid > 9 transid 190479 /dev/sda3 > [ 634.993431] btrfs: force clearing of disk cache > [ 634.993435] btrfs: disk space caching is enabled > [ 635.046803] btrfs: bdev /dev/sda3 errs: wr 0, rd 0, flush 0, > corrupt 58481, gen 0 > > > The I started raid1 rebalance but the error still presents: > > [ 1571.787664] BTRFS info (device sda3): csum failed ino 309 off > 4993024 csum 1283121890 private 3720296651 > [ 1571.791027] BTRFS info (device sda3): csum failed ino 309 off > 5242880 csum 857237386 private 2562492866 > [ 1571.793998] BTRFS info (device sda3): csum failed ino 309 off > 5767168 csum 645194099 private 3149624654 > [ 1571.794389] BTRFS info (device sda3): csum failed ino 309 off > 4993024 csum 1283121890 private 3720296651 > > > So my problem still exists. How to fix the block with wrong csum? -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html