diff options
Diffstat (limited to 'fs/btrfs/tree-log.c')
-rw-r--r-- | fs/btrfs/tree-log.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 3f4b139b27ed..5d49a701bdcd 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c | |||
@@ -1973,10 +1973,10 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans, | |||
1973 | atomic_set(&log->fs_info->tree_log_commit, 1); | 1973 | atomic_set(&log->fs_info->tree_log_commit, 1); |
1974 | 1974 | ||
1975 | while(1) { | 1975 | while(1) { |
1976 | batch = log->fs_info->tree_log_batch; | ||
1976 | mutex_unlock(&log->fs_info->tree_log_mutex); | 1977 | mutex_unlock(&log->fs_info->tree_log_mutex); |
1977 | schedule_timeout_uninterruptible(1); | 1978 | schedule_timeout_uninterruptible(1); |
1978 | mutex_lock(&log->fs_info->tree_log_mutex); | 1979 | mutex_lock(&log->fs_info->tree_log_mutex); |
1979 | batch = log->fs_info->tree_log_batch; | ||
1980 | 1980 | ||
1981 | while(atomic_read(&log->fs_info->tree_log_writers)) { | 1981 | while(atomic_read(&log->fs_info->tree_log_writers)) { |
1982 | DEFINE_WAIT(wait); | 1982 | DEFINE_WAIT(wait); |
@@ -2189,8 +2189,6 @@ int btrfs_del_inode_ref_in_log(struct btrfs_trans_handle *trans, | |||
2189 | mutex_unlock(&BTRFS_I(inode)->log_mutex); | 2189 | mutex_unlock(&BTRFS_I(inode)->log_mutex); |
2190 | end_log_trans(root); | 2190 | end_log_trans(root); |
2191 | 2191 | ||
2192 | if (ret == 0 || ret == -ENOENT) | ||
2193 | return 0; | ||
2194 | return ret; | 2192 | return ret; |
2195 | } | 2193 | } |
2196 | 2194 | ||
@@ -2620,9 +2618,11 @@ static int __btrfs_log_inode(struct btrfs_trans_handle *trans, | |||
2620 | else | 2618 | else |
2621 | break; | 2619 | break; |
2622 | } | 2620 | } |
2623 | if (inode_only == LOG_INODE_ALL && S_ISDIR(inode->i_mode)) { | 2621 | if (inode_only == LOG_INODE_ALL && S_ISDIR(inode->i_mode) && |
2622 | BTRFS_I(inode)->log_dirty_trans >= trans->transid) { | ||
2624 | btrfs_release_path(root, path); | 2623 | btrfs_release_path(root, path); |
2625 | btrfs_release_path(log, dst_path); | 2624 | btrfs_release_path(log, dst_path); |
2625 | BTRFS_I(inode)->log_dirty_trans = 0; | ||
2626 | ret = log_directory_changes(trans, root, inode, path, dst_path); | 2626 | ret = log_directory_changes(trans, root, inode, path, dst_path); |
2627 | BUG_ON(ret); | 2627 | BUG_ON(ret); |
2628 | } | 2628 | } |