Btrfs: add missing free_extent_buffer
[deliverable/linux.git] / fs / btrfs / tree-log.c
index a089b5944efca4b52060243a16bbee65919fbfbd..1ce80c1c4eb6c1a414cfe88009c5c1c0e5c14132 100644 (file)
@@ -3881,12 +3881,6 @@ static int wait_ordered_extents(struct btrfs_trans_handle *trans,
                                     &ordered->flags))
                        continue;
 
-               if (ordered->csum_bytes_left) {
-                       btrfs_start_ordered_extent(inode, ordered, 0);
-                       wait_event(ordered->wait,
-                                  ordered->csum_bytes_left == 0);
-               }
-
                list_for_each_entry(sum, &ordered->list, list) {
                        ret = btrfs_csum_file_blocks(trans, log, sum);
                        if (ret)
@@ -4474,9 +4468,9 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans,
                        goto out;
 
        if (!S_ISDIR(inode->i_mode)) {
-               if (!parent || !parent->d_inode || sb != parent->d_inode->i_sb)
+               if (!parent || d_really_is_negative(parent) || sb != d_inode(parent)->i_sb)
                        goto out;
-               inode = parent->d_inode;
+               inode = d_inode(parent);
        }
 
        while (1) {
@@ -4502,7 +4496,7 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans,
                        break;
                }
 
-               if (!parent || !parent->d_inode || sb != parent->d_inode->i_sb)
+               if (!parent || d_really_is_negative(parent) || sb != d_inode(parent)->i_sb)
                        break;
 
                if (IS_ROOT(parent))
@@ -4511,7 +4505,7 @@ static noinline int check_parent_dirs_for_sync(struct btrfs_trans_handle *trans,
                parent = dget_parent(parent);
                dput(old_parent);
                old_parent = parent;
-               inode = parent->d_inode;
+               inode = d_inode(parent);
 
        }
        dput(old_parent);
@@ -4777,10 +4771,10 @@ static int btrfs_log_inode_parent(struct btrfs_trans_handle *trans,
                log_dentries = true;
 
        while (1) {
-               if (!parent || !parent->d_inode || sb != parent->d_inode->i_sb)
+               if (!parent || d_really_is_negative(parent) || sb != d_inode(parent)->i_sb)
                        break;
 
-               inode = parent->d_inode;
+               inode = d_inode(parent);
                if (root != BTRFS_I(inode)->root)
                        break;
 
@@ -4845,7 +4839,7 @@ int btrfs_log_dentry_safe(struct btrfs_trans_handle *trans,
        struct dentry *parent = dget_parent(dentry);
        int ret;
 
-       ret = btrfs_log_inode_parent(trans, root, dentry->d_inode, parent,
+       ret = btrfs_log_inode_parent(trans, root, d_inode(dentry), parent,
                                     start, end, 0, ctx);
        dput(parent);
 
This page took 0.025711 seconds and 5 git commands to generate.