diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-01-06 03:19:40 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:56 -0500 |
commit | 1d3d752b471d2a3a1d5e4fe177e5e7d52abb4e4c (patch) | |
tree | 05c6c99ca02118e2c80199c36f4f6263cdf7986b /fs/fuse/inode.c | |
parent | 248d86e87d12da19eee602075f05a49a5215288b (diff) |
[PATCH] fuse: clean up request size limit checking
Change the way a too large request is handled. Until now in this case the
device read returned -EINVAL and the operation returned -EIO.
Make it more flexibible by not returning -EINVAL from the read, but restarting
it instead.
Also remove the fixed limit on setxattr data and let the filesystem provide as
large a read buffer as it needs to handle the extended attribute data.
The symbolic link length is already checked by VFS to be less than PATH_MAX,
so the extra check against FUSE_SYMLINK_MAX is not needed.
The check in fuse_create_open() against FUSE_NAME_MAX is not needed, since the
dentry has already been looked up, and hence the name already checked.
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/fuse/inode.c')
-rw-r--r-- | fs/fuse/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c index 3b928a02af04..3580b9e12345 100644 --- a/fs/fuse/inode.c +++ b/fs/fuse/inode.c | |||
@@ -485,7 +485,7 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent) | |||
485 | fc->max_read = d.max_read; | 485 | fc->max_read = d.max_read; |
486 | if (fc->max_read / PAGE_CACHE_SIZE < fc->bdi.ra_pages) | 486 | if (fc->max_read / PAGE_CACHE_SIZE < fc->bdi.ra_pages) |
487 | fc->bdi.ra_pages = fc->max_read / PAGE_CACHE_SIZE; | 487 | fc->bdi.ra_pages = fc->max_read / PAGE_CACHE_SIZE; |
488 | fc->max_write = FUSE_MAX_IN / 2; | 488 | fc->max_write = FUSE_MAX_WRITE; |
489 | 489 | ||
490 | err = -ENOMEM; | 490 | err = -ENOMEM; |
491 | root = get_root_inode(sb, d.rootmode); | 491 | root = get_root_inode(sb, d.rootmode); |