diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2007-05-23 16:57:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-23 23:14:13 -0400 |
commit | 889f784831d6cc9125a74eb55a5641f95635a204 (patch) | |
tree | 6336e0a52fa2e87b15df5dcb7cafe07e300bd2f4 | |
parent | 492c8b332e3af279ffadf49b85967d5e43810923 (diff) |
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>
-rw-r--r-- | fs/fuse/file.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index d0ed60bc3188..adf7995232b8 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
@@ -610,7 +610,9 @@ static ssize_t fuse_direct_write(struct file *file, const char __user *buf, | |||
610 | ssize_t res; | 610 | ssize_t res; |
611 | /* Don't allow parallel writes to the same file */ | 611 | /* Don't allow parallel writes to the same file */ |
612 | mutex_lock(&inode->i_mutex); | 612 | mutex_lock(&inode->i_mutex); |
613 | res = fuse_direct_io(file, buf, count, ppos, 1); | 613 | res = generic_write_checks(file, ppos, &count, 0); |
614 | if (!res) | ||
615 | res = fuse_direct_io(file, buf, count, ppos, 1); | ||
614 | mutex_unlock(&inode->i_mutex); | 616 | mutex_unlock(&inode->i_mutex); |
615 | return res; | 617 | return res; |
616 | } | 618 | } |