forked from luck/tmp_suning_uos_patched
btrfs: Make btrfs_del_inode_ref take btrfs_inode
Signed-off-by: Nikolay Borisov <n.borisov.lkml@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
49f34d1f96
commit
a491abb2e7
|
@ -4053,7 +4053,7 @@ static int __btrfs_unlink_inode(struct btrfs_trans_handle *trans,
|
|||
}
|
||||
|
||||
ret = btrfs_del_inode_ref_in_log(trans, root, name, name_len,
|
||||
inode, dir_ino);
|
||||
BTRFS_I(inode), dir_ino);
|
||||
if (ret != 0 && ret != -ENOENT) {
|
||||
btrfs_abort_transaction(trans, ret);
|
||||
goto err;
|
||||
|
|
|
@ -3192,25 +3192,25 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
|
|||
int btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
const char *name, int name_len,
|
||||
struct inode *inode, u64 dirid)
|
||||
struct btrfs_inode *inode, u64 dirid)
|
||||
{
|
||||
struct btrfs_fs_info *fs_info = root->fs_info;
|
||||
struct btrfs_root *log;
|
||||
u64 index;
|
||||
int ret;
|
||||
|
||||
if (BTRFS_I(inode)->logged_trans < trans->transid)
|
||||
if (inode->logged_trans < trans->transid)
|
||||
return 0;
|
||||
|
||||
ret = join_running_log_trans(root);
|
||||
if (ret)
|
||||
return 0;
|
||||
log = root->log_root;
|
||||
mutex_lock(&BTRFS_I(inode)->log_mutex);
|
||||
mutex_lock(&inode->log_mutex);
|
||||
|
||||
ret = btrfs_del_inode_ref(trans, log, name, name_len, btrfs_ino(BTRFS_I(inode)),
|
||||
ret = btrfs_del_inode_ref(trans, log, name, name_len, btrfs_ino(inode),
|
||||
dirid, &index);
|
||||
mutex_unlock(&BTRFS_I(inode)->log_mutex);
|
||||
mutex_unlock(&inode->log_mutex);
|
||||
if (ret == -ENOSPC) {
|
||||
btrfs_set_log_full_commit(fs_info, trans);
|
||||
ret = 0;
|
||||
|
|
|
@ -76,7 +76,7 @@ int btrfs_del_dir_entries_in_log(struct btrfs_trans_handle *trans,
|
|||
int btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans,
|
||||
struct btrfs_root *root,
|
||||
const char *name, int name_len,
|
||||
struct inode *inode, u64 dirid);
|
||||
struct btrfs_inode *inode, u64 dirid);
|
||||
void btrfs_end_log_trans(struct btrfs_root *root);
|
||||
int btrfs_pin_log_trans(struct btrfs_root *root);
|
||||
void btrfs_record_unlink_dir(struct btrfs_trans_handle *trans,
|
||||
|
|
Loading…
Reference in New Issue
Block a user