Orangefs: set pos after generic_write_checks
if we are appending, generic_write_checks would have updated pos to the end of the file... Signed-off-by: Mike Marshall <hubcap@omnibond.com>
This commit is contained in:
@@ -430,7 +430,7 @@ static ssize_t pvfs2_file_read_iter(struct kiocb *iocb, struct iov_iter *iter)
|
|||||||
static ssize_t pvfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *iter)
|
static ssize_t pvfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *iter)
|
||||||
{
|
{
|
||||||
struct file *file = iocb->ki_filp;
|
struct file *file = iocb->ki_filp;
|
||||||
loff_t pos = *(&iocb->ki_pos);
|
loff_t pos;
|
||||||
ssize_t rc;
|
ssize_t rc;
|
||||||
|
|
||||||
BUG_ON(iocb->private);
|
BUG_ON(iocb->private);
|
||||||
@@ -461,6 +461,13 @@ static ssize_t pvfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *iter)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* if we are appending, generic_write_checks would have updated
|
||||||
|
* pos to the end of the file, so we will wait till now to set
|
||||||
|
* pos...
|
||||||
|
*/
|
||||||
|
pos = *(&iocb->ki_pos);
|
||||||
|
|
||||||
rc = do_readv_writev(PVFS_IO_WRITE,
|
rc = do_readv_writev(PVFS_IO_WRITE,
|
||||||
file,
|
file,
|
||||||
&pos,
|
&pos,
|
||||||
|
|||||||
Reference in New Issue
Block a user