diff options
author | Josef Bacik <jbacik@fb.com> | 2014-03-14 16:36:53 -0400 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-04-07 09:08:51 -0700 |
commit | c4a050bbbb5d7dab03aa720af36d8e91ed7f2ec8 (patch) | |
tree | 0cea5b1492c94f549ad265ab121e18661043d340 /fs/btrfs | |
parent | 3a29bc0928003674f45b4fe625b4d0738a22c60d (diff) | |
download | op-kernel-dev-c4a050bbbb5d7dab03aa720af36d8e91ed7f2ec8.zip op-kernel-dev-c4a050bbbb5d7dab03aa720af36d8e91ed7f2ec8.tar.gz |
Btrfs: abort the transaction when we don't find our extent ref
I'm not sure why we weren't aborting here in the first place, it is obviously a
bad time from the fact that we print the leaf and yell loudly about it. Fix
this up, otherwise we panic because our path could be pointing into oblivion.
Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/extent-tree.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 1341163..1306487 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -5745,6 +5745,8 @@ static int __btrfs_free_extent(struct btrfs_trans_handle *trans, "unable to find ref byte nr %llu parent %llu root %llu owner %llu offset %llu", bytenr, parent, root_objectid, owner_objectid, owner_offset); + btrfs_abort_transaction(trans, extent_root, ret); + goto out; } else { btrfs_abort_transaction(trans, extent_root, ret); goto out; |