]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
Btrfs: fix panic when recovering tree log
authorJosef Bacik <jbacik@fusionio.com>
Tue, 18 Dec 2012 16:39:19 +0000 (11:39 -0500)
committerJosef Bacik <jbacik@fusionio.com>
Thu, 24 Jan 2013 17:49:49 +0000 (12:49 -0500)
commitb0175117b9376a69978bbe80af26fb95dddbd53e
tree1748791c73aae22587be21f2b3ee127d858c3432
parent201a90389424d6771d24fc5d72f7e34cb4a8f967
Btrfs: fix panic when recovering tree log

A user reported a BUG_ON(ret) that occured during tree log replay.  Ret was
-EAGAIN, so what I think happened is that we removed an extent that covered
a bitmap entry and an extent entry.  We remove the part from the bitmap and
return -EAGAIN and then search for the next piece we want to remove, which
happens to be an entire extent entry, so we just free the sucker and return.
The problem is ret is still set to -EAGAIN so we trip the BUG_ON().  The
user used btrfs-zero-log so I'm not 100% sure this is what happened so I've
added a WARN_ON() to catch the other possibility.  Thanks,

Reported-by: Jan Steffens <jan.steffens@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/free-space-cache.c