aboutsummaryrefslogtreecommitdiff
path: root/fs/ext4
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2015-03-10 10:02:32 +0800
committerAlex Shi <alex.shi@linaro.org>2015-03-10 10:02:32 +0800
commitc577a32260e3c74bd2ccf42273c2f5cdf981b9a0 (patch)
tree781fff52a3bb901f96a086ea788c08596ad396ce /fs/ext4
parente8f1cafd746408478934b9c8b9e9e0d5f450906c (diff)
parent42f504e28a169ebfea0e3d9c6e151451800e41d5 (diff)
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-android
Most of cpu feature which hardcode in commit 3868e7f8d4799 are included in compat_hwcap_str[]. We don't need repeat them. Conflicts: arch/arm64/kernel/setup.c
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/file.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 4635788e14bf..ec9770f42538 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -100,7 +100,7 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov,
struct blk_plug plug;
int unaligned_aio = 0;
ssize_t ret;
- int overwrite = 0;
+ int *overwrite = iocb->private;
size_t length = iov_length(iov, nr_segs);
if (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) &&
@@ -118,8 +118,6 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov,
mutex_lock(&inode->i_mutex);
blk_start_plug(&plug);
- iocb->private = &overwrite;
-
/* check whether we do a DIO overwrite or not */
if (ext4_should_dioread_nolock(inode) && !unaligned_aio &&
!file->f_mapping->nrpages && pos + length <= i_size_read(inode)) {
@@ -143,7 +141,7 @@ ext4_file_dio_write(struct kiocb *iocb, const struct iovec *iov,
* So we should check these two conditions.
*/
if (err == len && (map.m_flags & EXT4_MAP_MAPPED))
- overwrite = 1;
+ *overwrite = 1;
}
ret = __generic_file_aio_write(iocb, iov, nr_segs, &iocb->ki_pos);
@@ -170,6 +168,7 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
{
struct inode *inode = file_inode(iocb->ki_filp);
ssize_t ret;
+ int overwrite = 0;
/*
* If we have encountered a bitmap-format file, the size limit
@@ -190,6 +189,7 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
}
}
+ iocb->private = &overwrite;
if (unlikely(iocb->ki_filp->f_flags & O_DIRECT))
ret = ext4_file_dio_write(iocb, iov, nr_segs, pos);
else