search for: btrfs_del_dir_entries_in_log

Displaying 5 results from an estimated 5 matches for "btrfs_del_dir_entries_in_log".

2013 Mar 01
0
unremovable dirs from failed unlink
...y reading up and reproducing it. diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index ecd9c4c..11fc4b1 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -3592,8 +3592,11 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans, goto err; } - ret = btrfs_del_dir_entries_in_log(trans, root, name, name_len, - dir, index); + if (!strncmp(name, "fail-please", min(name_len, 11))) + ret = -ENOMEM; + else + ret = btrfs_del_dir_entries_in_log(trans, root, name, name_len, +...
2013 Apr 25
0
[PATCH] Btrfs: remove almost all of the BUG()'s from tree-log.c
...d free_log_tree(struct btrfs_trans_handle *trans, if (trans) { ret = walk_log_tree(trans, log, &wc); - BUG_ON(ret); + + /* I don''t think this can happen but just in case */ + if (ret) + btrfs_abort_transaction(trans, log, ret); } while (1) { @@ -2625,7 +2660,10 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans, if (di) { ret = btrfs_delete_one_dir_name(trans, log, path, di); bytes_del += name_len; - BUG_ON(ret); + if (ret) { + err = ret; + goto fail; + } } btrfs_release_path(path); di = btrfs_lookup_dir_index_item(trans, log, path, dir_ino, @@ -2637,7...
2010 Jun 10
0
[PATCH] [12/23] BTRFS: Clean up unused variables -- bugs
...c/fs/btrfs/tree-log.c =================================================================== --- linux-2.6.35-rc2-gcc.orig/fs/btrfs/tree-log.c +++ linux-2.6.35-rc2-gcc/fs/btrfs/tree-log.c @@ -2273,7 +2273,7 @@ fail: } btrfs_end_log_trans(root); - return 0; + return err; } /* see comments for btrfs_del_dir_entries_in_log */ Index: linux-2.6.35-rc2-gcc/fs/btrfs/relocation.c =================================================================== --- linux-2.6.35-rc2-gcc.orig/fs/btrfs/relocation.c +++ linux-2.6.35-rc2-gcc/fs/btrfs/relocation.c @@ -3098,6 +3098,8 @@ static int add_tree_block(struct reloc_c BUG_ON(item_s...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...s_handle *trans, struct inode *inode) if (trans && delete_item) { ret = btrfs_del_orphan_item(trans, root, inode->i_ino); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); } if (release_rsv) @@ -2651,7 +2651,7 @@ 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); + btrfs_fixable_bug_on(ret); err: btrfs_free_path(path); if (ret) @@ -2868,11 +2868,11 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry) ret = btrfs_unlink_inode(trans, root, dir, dentry->d_inode,...
2012 Jun 21
0
[RFC PATCH V2] Btrfs: introduce extent buffer cache for each i-node
...log_di = btrfs_lookup_dir_item(trans, log, log_path, + log_di = btrfs_lookup_dir_item(trans, log, dir, + log_path, dir_key->objectid, name, name_len, 0); } else if (log && dir_key->type == BTRFS_DIR_INDEX_KEY) { @@ -2288,7 +2291,7 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans, goto out_unlock; } - di = btrfs_lookup_dir_item(trans, log, path, dir_ino, + di = btrfs_lookup_dir_item(trans, log, dir, path, dir_ino, name, name_len, -1); if (IS_ERR(di)) { err = PTR_ERR(di); @@ -2379,7 +2382,7 @@ int btrfs_del_inode_ref_in_lo...