fuse: generic_write_checks() for direct_io
This fixes O_APPEND in direct IO mode. Also checks writes against file size limits, notably rlimits. Reported by Greg Bruno. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
492c8b332e
commit
889f784831
@@ -610,6 +610,8 @@ static ssize_t fuse_direct_write(struct file *file, const char __user *buf,
|
|||||||
ssize_t res;
|
ssize_t res;
|
||||||
/* Don't allow parallel writes to the same file */
|
/* Don't allow parallel writes to the same file */
|
||||||
mutex_lock(&inode->i_mutex);
|
mutex_lock(&inode->i_mutex);
|
||||||
|
res = generic_write_checks(file, ppos, &count, 0);
|
||||||
|
if (!res)
|
||||||
res = fuse_direct_io(file, buf, count, ppos, 1);
|
res = fuse_direct_io(file, buf, count, ppos, 1);
|
||||||
mutex_unlock(&inode->i_mutex);
|
mutex_unlock(&inode->i_mutex);
|
||||||
return res;
|
return res;
|
||||||
|
Reference in New Issue
Block a user