Thread (6 messages) 6 messages, 4 authors, 2012-06-26

Re: 3.5-rc4: BTRFS unmountable after hard lockup

From: Martin Steigerwald <hidden>
Date: 2012-06-26 12:28:49

Am Dienstag, 26. Juni 2012 schrieb Liu Bo:
On 06/26/2012 06:18 AM, David Sterba wrote:
quoted
3756         if (root->fs_info->log_root_recovering) {
3757                 BUG_ON(!test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,
3758                                 &BTRFS_I(inode)->runtime_flags)); 
3759                 goto no_delete;
3760         }

and it happened during log replay, as you found already, fixable by
running the zero-log utility. Another way is to mount read-only, this
skips log replay.

I think there could be a logic error, as this probably happens only
during log replay when the orphan bit is not in sync with link count,
but I saw that this should be handled in the fixup_inode_link_counts
call path. CCing Josef, if he has an idea.
It is a logic error, but mostly a finger wrong from Josef IMO... :)

I'll send a patch for it.
Thanks for looking into it. 

Since my BTRFS is up and running again I can´t test a patch easily however.
I´d have to unplug the disk or crash my laptop several times to trigger it
again I bet.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help