Btrfs: deal with errors from updating the tree log
authorChris Mason <chris.mason@oracle.com>
Sat, 30 Oct 2010 11:34:24 +0000 (07:34 -0400)
committerChris Mason <chris.mason@oracle.com>
Sat, 30 Oct 2010 11:34:24 +0000 (07:34 -0400)
During unlink we remove any references to the inode from
the tree log.  It can return -ENOENT and other errors,
and this changes the unlink code to deal with it.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/inode.c

index 609f3bbbd1ed64ed7a65bcaf39f3c2ee941fc0b1..5132c9af888ace1a0b8791a00c27daf6214daacc 100644 (file)
@@ -2676,7 +2676,8 @@ int btrfs_unlink_inode(struct btrfs_trans_handle *trans,
 
        ret = btrfs_del_dir_entries_in_log(trans, root, name, name_len,
                                           dir, index);
-       BUG_ON(ret);
+       if (ret == -ENOENT)
+               ret = 0;
 err:
        btrfs_free_path(path);
        if (ret)