summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/tree-log.c
diff options
context:
space:
mode:
authorNikolay Borisov <n.borisov.lkml@gmail.com>2017-01-17 17:31:27 -0500
committerDavid Sterba <dsterba@suse.com>2017-02-14 09:50:53 -0500
commitab1717b2abf7e4d95c58b3936d9a9f70ea0e8ae3 (patch)
treeb710f5e6eb826b751427f814d19735c191f8e232 /fs/btrfs/tree-log.c
parentf5cc7b80a61a0c9f713e2e9c8f8fbcc0f3cb0cc2 (diff)
btrfs: Make btrfs_must_commit_transaction take btrfs_inode
Signed-off-by: Nikolay Borisov <n.borisov.lkml@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r--fs/btrfs/tree-log.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index b814cd7bbe70..a2a822a993af 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -5021,13 +5021,13 @@ out_unlock:
5021 * we logged the inode or it might have also done the unlink). 5021 * we logged the inode or it might have also done the unlink).
5022 */ 5022 */
5023static bool btrfs_must_commit_transaction(struct btrfs_trans_handle *trans, 5023static bool btrfs_must_commit_transaction(struct btrfs_trans_handle *trans,
5024 struct inode *inode) 5024 struct btrfs_inode *inode)
5025{ 5025{
5026 struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; 5026 struct btrfs_fs_info *fs_info = inode->root->fs_info;
5027 bool ret = false; 5027 bool ret = false;
5028 5028
5029 mutex_lock(&BTRFS_I(inode)->log_mutex); 5029 mutex_lock(&inode->log_mutex);
5030 if (BTRFS_I(inode)->last_unlink_trans > fs_info->last_trans_committed) { 5030 if (inode->last_unlink_trans > fs_info->last_trans_committed) {
5031 /* 5031 /*
5032 * Make sure any commits to the log are forced to be full 5032 * Make sure any commits to the log are forced to be full
5033 * commits. 5033 * commits.
@@ -5035,7 +5035,7 @@ static bool btrfs_must_commit_transaction(struct btrfs_trans_handle *trans,
5035 btrfs_set_log_full_commit(fs_info, trans); 5035 btrfs_set_log_full_commit(fs_info, trans);
5036 ret = true; 5036 ret = true;
5037 } 5037 }
5038 mutex_unlock(&BTRFS_I(inode)->log_mutex); 5038 mutex_unlock(&inode->log_mutex);
5039 5039
5040 return ret; 5040 return ret;
5041} 5041}
@@ -5084,7 +5084,7 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans,
5084 BTRFS_I(inode)->logged_trans = trans->transid; 5084 BTRFS_I(inode)->logged_trans = trans->transid;
5085 smp_mb(); 5085 smp_mb();
5086 5086
5087 if (btrfs_must_commit_transaction(trans, inode)) { 5087 if (btrfs_must_commit_transaction(trans, BTRFS_I(inode))) {
5088 ret = 1; 5088 ret = 1;
5089 break; 5089 break;
5090 } 5090 }
@@ -5094,7 +5094,7 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans,
5094 5094
5095 if (IS_ROOT(parent)) { 5095 if (IS_ROOT(parent)) {
5096 inode = d_inode(parent); 5096 inode = d_inode(parent);
5097 if (btrfs_must_commit_transaction(trans, inode)) 5097 if (btrfs_must_commit_transaction(trans, BTRFS_I(inode)))
5098 ret = 1; 5098 ret = 1;
5099 break; 5099 break;
5100 } 5100 }
@@ -5248,7 +5248,7 @@ process_leaf:
5248 ret = btrfs_log_inode(trans, root, di_inode, 5248 ret = btrfs_log_inode(trans, root, di_inode,
5249 log_mode, 0, LLONG_MAX, ctx); 5249 log_mode, 0, LLONG_MAX, ctx);
5250 if (!ret && 5250 if (!ret &&
5251 btrfs_must_commit_transaction(trans, di_inode)) 5251 btrfs_must_commit_transaction(trans, BTRFS_I(di_inode)))
5252 ret = 1; 5252 ret = 1;
5253 iput(di_inode); 5253 iput(di_inode);
5254 if (ret) 5254 if (ret)
@@ -5368,7 +5368,7 @@ static int btrfs_log_all_parents(struct btrfs_trans_handle *trans,
5368 ret = btrfs_log_inode(trans, root, dir_inode, 5368 ret = btrfs_log_inode(trans, root, dir_inode,
5369 LOG_INODE_ALL, 0, LLONG_MAX, ctx); 5369 LOG_INODE_ALL, 0, LLONG_MAX, ctx);
5370 if (!ret && 5370 if (!ret &&
5371 btrfs_must_commit_transaction(trans, dir_inode)) 5371 btrfs_must_commit_transaction(trans, BTRFS_I(dir_inode)))
5372 ret = 1; 5372 ret = 1;
5373 if (!ret && ctx && ctx->log_new_dentries) 5373 if (!ret && ctx && ctx->log_new_dentries)
5374 ret = log_new_dir_dentries(trans, root, 5374 ret = log_new_dir_dentries(trans, root,