summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZheng Liu <gnehzuil.liu@gmail.com>2012-05-28 18:06:51 -0400
committerTheodore Ts'o <tytso@mit.edu>2012-05-28 18:06:51 -0400
commit8563000d3bf3ccfccce335c092a7c43078be8ffd (patch)
tree393a35a5504527f0e98e8c82cbac259fd886c766
parent4a3c3a5120bff77cc8c3a70c7cb681f458f47bfd (diff)
downloadlinux-3.10-8563000d3bf3ccfccce335c092a7c43078be8ffd.tar.gz
linux-3.10-8563000d3bf3ccfccce335c092a7c43078be8ffd.tar.bz2
linux-3.10-8563000d3bf3ccfccce335c092a7c43078be8ffd.zip
ext4: use consistent ssize_t type in ext4_file_write()
The generic_file_aio_write() function returns ssize_t, and ext4_file_write() returns a ssize_t, so use a ssize_t to collect the return value from generic_file_aio_write(). It shouldn't matter since the VFS read/write paths shouldn't allow a read greater than MAX_INT, but there was previously a bug in the AIO code paths, and it's best if we use a consistent type so that the return value from generic_file_aio_write() can't get truncated. Reported-by: Jouni Siren <jouni.siren@iki.fi> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Zheng Liu <wenqing.lz@taobao.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
-rw-r--r--fs/ext4/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index cb70f1812a7..8c7642a0005 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -95,7 +95,7 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
{
struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode;
int unaligned_aio = 0;
- int ret;
+ ssize_t ret;
/*
* If we have encountered a bitmap-format file, the size limit