summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMingming <cmm@us.ibm.com>2009-11-03 14:44:54 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-14 08:07:19 -0800
commit2bcfe650d1b5c9994ce58a25efd5a6f5eb4ad0ee (patch)
tree87365a4720c6ef0292054e33dccea62e669e6b1a
parent3e6c8d3881736079664aad465e26486d1d4152b9 (diff)
ext4: code clean up for dio fallocate handling
(cherry picked from commit 4b70df181611012a3556f017b57dfcef7e1d279f) The ext4_debug() call in ext4_end_io_dio() should be moved after the check to make sure that io_end is non-NULL. The comment above ext4_get_block_dio_write() ("Maximum number of blocks...") is a duplicate; the original and correct comment is above the #define DIO_MAX_BLOCKS up above. Based on review comments from Curt Wohlgemuth. Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--fs/ext4/inode.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index fcb85d894de6..d7b3f2a1c41e 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -3440,8 +3440,6 @@ out:
return ret;
}
-/* Maximum number of blocks we map for direct IO at once. */
-
static int ext4_get_block_dio_write(struct inode *inode, sector_t iblock,
struct buffer_head *bh_result, int create)
{
@@ -3649,13 +3647,14 @@ static void ext4_end_io_dio(struct kiocb *iocb, loff_t offset,
ext4_io_end_t *io_end = iocb->private;
struct workqueue_struct *wq;
+ /* if not async direct IO or dio with 0 bytes write, just return */
+ if (!io_end || !size)
+ return;
+
ext_debug("ext4_end_io_dio(): io_end 0x%p"
"for inode %lu, iocb 0x%p, offset %llu, size %llu\n",
iocb->private, io_end->inode->i_ino, iocb, offset,
size);
- /* if not async direct IO or dio with 0 bytes write, just return */
- if (!io_end || !size)
- return;
/* if not aio dio with unwritten extents, just free io and return */
if (io_end->flag != DIO_AIO_UNWRITTEN){