On Wed, Nov 18, 2009 at 4:48 AM, Nuutti Kotivuori <na...@iki.fi> wrote:
> Hello,
>
> I recently told here about a broken filesystem after btrfs-convert &
> friends and I was informed that this was a known bug and fixed in later
> releases. I should've reformatted the partition and copied in the files
> anew, but I didn't, since this isn't a crucial production system for me.
>
> So, after a day or two, I got in a case where I had done a hibernate,
> several suspend/resume cycles and exhausted the swap space so OOM killer
> was running wild and stuff.
>
> And I managed to get an endless stream of errors to the system log that
> looked more or less like this:
>
>  parent transid verify failed on 39620608 wanted 5946 found 5944
>
> I don't know if I'd be able to reproduce the problem, if spending a lot
> of time on it, but atleast for now, this was just a one time off case.
>
> So I rebooted the machine, and got the same stream of errors upon
> mounting the filesystem. 500 per second. So I tried fsck, and it gave
> the same error and promptly segmentation faulted. btrfs-image did the
> same I think (though I'm not sure about this one).
>
> Anyhow, I'd love to have a more reliable btrfsck, that is able to fix
> all kinds of corruptions, even then ones that are "never supposed to
> happen". So, personally, I'd like to work on this issue until btrfsck is
> able to fix the filesystem in to perfect working order - or atleast in
> such a good state, that files can be copied off from it.
>
> However, if you'd rather debug the mount problems, that can be done as
> well - though that's more of a problem since I will have to do it in a
> virtual machine as to not mess up my server.
>
> Anyhow, long story short, here's the error reported by btrfsck:
>
> ---------------------------------------------------------------------------
> $ sudo ./btrfsck /dev/mapper/perspire-root
> parent transid verify failed on 39620608 wanted 5946 found 5944
> Segmentation fault
> ---------------------------------------------------------------------------
>
> And here's valgrind telling what goes awry:
>
> ---------------------------------------------------------------------------
> parent transid verify failed on 39620608 wanted 5946 found 5944
> ==17536== Invalid read of size 4
> ==17536==    at 0x40F9AB: btrfs_print_leaf (ctree.h:1411)
> ==17536==    by 0x40C066: btrfs_lookup_extent_info (extent-tree.c:1450)
> ==17536==    by 0x4023F2: check_extents (btrfsck.c:2509)
> ==17536==    by 0x405004: main (btrfsck.c:2829)
> ==17536==  Address 0xc4 is not stack'd, malloc'd or (recently) free'd
> ---------------------------------------------------------------------------
>
> This is with the current head of btrfs-progs-unstable.
>

You can try mounting the FS in read only mode and copying files out.
If you still get that error, try making verify_parent_transid() in disk-io.c
always return 0. These are all we can do now.

Yan, Zheng
--
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

Reply via email to