Btrfs: don't BUG_ON() if we get an error walking backrefs
authorJosef Bacik <jbacik@fusionio.com>
Tue, 5 Nov 2013 16:11:40 +0000 (11:11 -0500)
committerChris Mason <chris.mason@fusionio.com>
Thu, 21 Nov 2013 01:41:16 +0000 (20:41 -0500)
We can just return false for this so we stop doing the snapshot aware defrag
stuff.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/inode.c

index da8d2f696ac5c461154046e985dcd8dfc5c22b29..fd67b34e220d271c5e570b4960540468b92c029b 100644 (file)
@@ -2129,7 +2129,8 @@ static noinline bool record_extent_backrefs(struct btrfs_path *path,
                                                  old->extent_offset, fs_info,
                                                  path, record_one_backref,
                                                  old);
-               BUG_ON(ret < 0 && ret != -ENOENT);
+               if (ret < 0 && ret != -ENOENT)
+                       return false;
 
                /* no backref to be processed for this extent */
                if (!old->count) {