Btrfs Array Recovery

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

 



A few months ago, my btrfs storage array became corrupted because of a
power failure. A while ago, I made this thread to try and resolve the
problem. (http://www.digipedia.pl/usenet/thread/11904/15955/) You can
find detailed information about the problem in the previous thread,
but I am happy to provide any other details. It didn't really go
anywhere in the way of solving my problem. The thread ended in me
waiting for a patch that would allow me to mount my corrupted array
which was around 2 months ago.

While I have been waiting, I have tried several things. One of the
things that I tried was installing the latest Linux kernel (3.4 RC1)
with the btrfs integrity checking enabled. I read about this module
here: (http://lwn.net/Articles/466493/) With the option compiled in, I
have had severe mounting problems. I can only try to mount the array
once before it does some strange things. The first time I try and
mount it, it fails, but logs this in dmesg:
(http://pastebin.com/YwAsdjhs) It looks like there is a bug in this
integrity checking code. After I try to mount the drive after the
first time, it just hangs and doesn't return anything or log anything
in dmesg. Even trying to mount the drive without the integrity
checking problem hangs and has the same problems.

I have also grabbed the latest version of btrfs-progs since I saw that
btrfsck could now repair some corruptions. I built the utilities and
executed btrfsck. This is the result of the command:
(http://pastebin.com/CEyvy17r) I saw that there was an error occurring
in the code at line 1864, so I commented out that line which had the
text: BUG_ON(rec->is_root);
I then recompiled the utilities and executed btrfsck again and got
this: (http://pastebin.com/ihYmuCAm) I also tried btrfsck with the
repair option with these results: (http://pastebin.com/gnrStyqh)

Another thing that I have experimented with is btrfs-restore. I have
been somewhat successful in using this tool to restore the files. The
main problem that I have is that it cannot restore over half of the
files on the array and just puts an empty file with a size of 0. It
does restore the other half of the array perfectly. On the files that
it cannot restore, it returns a return code of -3. For example, here
is an example of a file which is unable to be restored by this tool:
(http://pastebin.com/Rg5a0xdG) I read more about this tool here
(http://btrfs.ipv5.de/index.php?title=Restore) I tried this tool with
'-u 1' and '-u 2' flags, which did not help anything. I do not think
that half of my array is corrupted since it was just a power failure
and the drive is also mirrored, which should provide some redundancy.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux