Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6-block.git] / fs / ext4 / extents.c
index 054416e9d827129d335561999c6c1988b1993df2..0a7315961bac6ebbca0c2bfe83cc3aba8fc5c807 100644 (file)
@@ -4796,7 +4796,6 @@ static long ext4_zero_range(struct file *file, loff_t offset,
                flags |= EXT4_GET_BLOCKS_KEEP_SIZE;
 
        /* Wait all existing dio workers, newcomers will block on i_mutex */
-       ext4_inode_block_unlocked_dio(inode);
        inode_dio_wait(inode);
 
        /* Preallocate the range including the unaligned edges */
@@ -4807,7 +4806,7 @@ static long ext4_zero_range(struct file *file, loff_t offset,
                                 round_down(offset, 1 << blkbits)) >> blkbits,
                                new_size, flags);
                if (ret)
-                       goto out_dio;
+                       goto out_mutex;
 
        }
 
@@ -4824,7 +4823,7 @@ static long ext4_zero_range(struct file *file, loff_t offset,
                ret = ext4_update_disksize_before_punch(inode, offset, len);
                if (ret) {
                        up_write(&EXT4_I(inode)->i_mmap_sem);
-                       goto out_dio;
+                       goto out_mutex;
                }
                /* Now release the pages and zero block aligned part of pages */
                truncate_pagecache_range(inode, start, end - 1);
@@ -4834,10 +4833,10 @@ static long ext4_zero_range(struct file *file, loff_t offset,
                                             flags);
                up_write(&EXT4_I(inode)->i_mmap_sem);
                if (ret)
-                       goto out_dio;
+                       goto out_mutex;
        }
        if (!partial_begin && !partial_end)
-               goto out_dio;
+               goto out_mutex;
 
        /*
         * In worst case we have to writeout two nonadjacent unwritten
@@ -4850,7 +4849,7 @@ static long ext4_zero_range(struct file *file, loff_t offset,
        if (IS_ERR(handle)) {
                ret = PTR_ERR(handle);
                ext4_std_error(inode->i_sb, ret);
-               goto out_dio;
+               goto out_mutex;
        }
 
        inode->i_mtime = inode->i_ctime = current_time(inode);
@@ -4875,8 +4874,6 @@ static long ext4_zero_range(struct file *file, loff_t offset,
                ext4_handle_sync(handle);
 
        ext4_journal_stop(handle);
-out_dio:
-       ext4_inode_resume_unlocked_dio(inode);
 out_mutex:
        inode_unlock(inode);
        return ret;
@@ -4964,11 +4961,9 @@ long ext4_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
        }
 
        /* Wait all existing dio workers, newcomers will block on i_mutex */
-       ext4_inode_block_unlocked_dio(inode);
        inode_dio_wait(inode);
 
        ret = ext4_alloc_file_blocks(file, lblk, max_blocks, new_size, flags);
-       ext4_inode_resume_unlocked_dio(inode);
        if (ret)
                goto out;
 
@@ -5485,7 +5480,6 @@ int ext4_collapse_range(struct inode *inode, loff_t offset, loff_t len)
        }
 
        /* Wait for existing dio to complete */
-       ext4_inode_block_unlocked_dio(inode);
        inode_dio_wait(inode);
 
        /*
@@ -5562,7 +5556,6 @@ out_stop:
        ext4_journal_stop(handle);
 out_mmap:
        up_write(&EXT4_I(inode)->i_mmap_sem);
-       ext4_inode_resume_unlocked_dio(inode);
 out_mutex:
        inode_unlock(inode);
        return ret;
@@ -5635,7 +5628,6 @@ int ext4_insert_range(struct inode *inode, loff_t offset, loff_t len)
        }
 
        /* Wait for existing dio to complete */
-       ext4_inode_block_unlocked_dio(inode);
        inode_dio_wait(inode);
 
        /*
@@ -5737,7 +5729,6 @@ out_stop:
        ext4_journal_stop(handle);
 out_mmap:
        up_write(&EXT4_I(inode)->i_mmap_sem);
-       ext4_inode_resume_unlocked_dio(inode);
 out_mutex:
        inode_unlock(inode);
        return ret;
@@ -5751,7 +5742,7 @@ out_mutex:
  * @lblk1:     Start block for first inode
  * @lblk2:     Start block for second inode
  * @count:     Number of blocks to swap
- * @mark_unwritten: Mark second inode's extents as unwritten after swap
+ * @unwritten: Mark second inode's extents as unwritten after swap
  * @erp:       Pointer to save error value
  *
  * This helper routine does exactly what is promise "swap extents". All other
@@ -5765,7 +5756,7 @@ out_mutex:
  */
 int
 ext4_swap_extents(handle_t *handle, struct inode *inode1,
-                    struct inode *inode2, ext4_lblk_t lblk1, ext4_lblk_t lblk2,
+                 struct inode *inode2, ext4_lblk_t lblk1, ext4_lblk_t lblk2,
                  ext4_lblk_t count, int unwritten, int *erp)
 {
        struct ext4_ext_path *path1 = NULL;