Zack Weinberg
2014-Jan-09 22:47 UTC
Help repairing corrupt btrfs -- btrfsck --repair doesn't change anything
I have a btrfs partition with what *sounds* like minor damage; btrfsck --repair prints | enabling repair mode | Checking filesystem on /dev/sda | UUID: ec93d2c2-7937-40f8-aaa6- c20c9775d93a | checking extents | checking free space cache | cache and super generation don't match, space cache will be invalidated | checking fs roots | root 258 inode 4493802 errors 400, nbytes wrong | root 258 inode 4509858 errors 400, nbytes wrong | root 258 inode 4510014 errors 400, nbytes wrong | root 258 inode 4838894 errors 400, nbytes wrong | root 258 inode 4838895 errors 400, nbytes wrong | found 41852229430 bytes used err is 1 | total csum bytes: 619630328 | total tree bytes: 3216027648 | total fs tree bytes: 2342981632 | total extent tree bytes: 135536640 | btree space waste bytes: 767795634 | file data blocks allocated: 1744289230848 | referenced 631766474752 | Btrfs v3.12 The trouble is, these errors do not go away if I run btrfsck --repair a second time, which implies that the problems have not actually been corrected. As the corruption has already caused one kernel oops (see https://bugzilla.kernel.org/show_bug.cgi?id=68411 ) I am reluctant to remount the file system until I am sure no corruption remains. I did try mounting it (and immediately unmounting it again) and that did seem to do some sort of additional check ("checking UUID tree") but a subsequent btrfsck run still prints the same errors. Any advice on how to fix this so it stays fixed would be appreciated. zw -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html