]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] fuse: clean up request size limit checking
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 6 Jan 2006 08:19:40 +0000 (00:19 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:33:56 +0000 (08:33 -0800)
commit552c5c4d3746a33d6ee7db99eeec168d735c6307
tree05c6c99ca02118e2c80199c36f4f6263cdf7986b
parentabffce13dd0f83828ea73993511d15704477e8c0
[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>
fs/fuse/dev.c
fs/fuse/dir.c
fs/fuse/fuse_i.h
fs/fuse/inode.c
include/linux/fuse.h