diff options
author | M. Mohan Kumar <mohan@in.ibm.com> | 2011-03-16 12:10:49 -0400 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-03-22 17:32:49 -0400 |
commit | aaf0ef1d2bce05cfd06cf29c96a6973df4d0a6a8 (patch) | |
tree | 32c0bba396dcdf5e5c920aff3560bed48f4c159f | |
parent | 316ad5501c2098cb2a2a25ed77a0421f1671411c (diff) |
9p: use the updated offset given by generic_write_checks
Without this fix, even if a file is opened in O_APPEND mode, data will be
written at current file position instead of end of file.
Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
-rw-r--r-- | fs/9p/vfs_file.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index 6997eb62fbba..ffed55817f0c 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c | |||
@@ -508,9 +508,12 @@ v9fs_file_write(struct file *filp, const char __user * data, | |||
508 | if (!count) | 508 | if (!count) |
509 | goto out; | 509 | goto out; |
510 | 510 | ||
511 | return v9fs_file_write_internal(filp->f_path.dentry->d_inode, | 511 | retval = v9fs_file_write_internal(filp->f_path.dentry->d_inode, |
512 | filp->private_data, | 512 | filp->private_data, |
513 | data, count, offset, 1); | 513 | data, count, &origin, 1); |
514 | /* update offset on successful write */ | ||
515 | if (retval > 0) | ||
516 | *offset = origin; | ||
514 | out: | 517 | out: |
515 | return retval; | 518 | return retval; |
516 | } | 519 | } |