J. Bruce Fields
ffe1137ba7
nfsd4: delay filling in write iovec array till after xdr decoding
...
Our server rejects compounds containing more than one write operation.
It's unclear whether this is really permitted by the spec; with 4.0,
it's possibly OK, with 4.1 (which has clearer limits on compound
parameters), it's probably not OK. No client that we're aware of has
ever done this, but in theory it could be useful.
The source of the limitation: we need an array of iovecs to pass to the
write operation. In the worst case that array of iovecs could have
hundreds of elements (the maximum rwsize divided by the page size), so
it's too big to put on the stack, or in each compound op. So we instead
keep a single such array in the compound argument.
We fill in that array at the time we decode the xdr operation.
But we decode every op in the compound before executing any of them. So
once we've used that array we can't decode another write.
If we instead delay filling in that array till the time we actually
perform the write, we can reuse it.
Another option might be to switch to decoding compound ops one at a
time. I considered doing that, but it has a number of other side
effects, and I'd rather fix just this one problem for now.
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2012-11-26 09:08:15 -05:00
..
caching
doc: fix broken references
2011-09-27 18:08:04 +02:00
configfs
configfs: convert to umode_t
2012-01-03 22:54:57 -05:00
nfs
nfsd4: delay filling in write iovec array till after xdr decoding
2012-11-26 09:08:15 -05:00
pohmelfs
Documentation: Fix multiple typo in Documentation
2012-03-07 16:08:24 +01:00
00-INDEX
smbfs: move to drivers/staging
2010-10-05 09:08:21 -07:00
9p.txt
9p: fix 9p.txt to advertise msize instead of maxdata
2011-10-24 11:13:12 -05:00
adfs.txt
adfs: add hexadecimal filetype suffix option
2011-03-22 17:44:17 -07:00
affs.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
afs.txt
AFS: Documentation updates
2009-08-19 10:40:13 -07:00
autofs4-mount-control.txt
Fix common misspellings
2011-03-31 11:26:23 -03:00
automount-support.txt
befs.txt
Documentation: befs.txt: no maintainer, orphaned
2011-08-13 18:34:03 -07:00
bfs.txt
remove mention of CONFIG_KMOD from documentation
2008-07-22 19:24:29 +10:00
btrfs.txt
Fix URL of btrfs-progs git repository in docs
2011-11-30 18:46:02 +01:00
ceph.txt
ceph: enable/disable dentry complete flags via mount option
2012-01-12 11:00:40 -08:00
cifs.txt
coda.txt
cramfs.txt
debugfs.txt
debugfs: more tightly restrict default mount mode
2012-08-27 13:42:02 -07:00
devpts.txt
Document usage of multiple-instances of devpts
2009-01-02 10:19:36 -08:00
directory-locking
dlmfs.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
dnotify.txt
Documentation/fs/: split txt and source files
2010-03-12 15:52:35 -08:00
dnotify_test.c
Documentation/fs/: split txt and source files
2010-03-12 15:52:35 -08:00
ecryptfs.txt
exofs.txt
exofs: Add option to mount by osdname
2011-03-15 15:02:51 +02:00
ext2.txt
Doc fix: ext2 can only have 32,000 subdirs, not 32,768
2009-06-18 13:03:44 -07:00
ext3.txt
ext3: update documentation with barrier=1 default
2012-04-11 11:12:45 +02:00
ext4.txt
ext4: add max_dir_size_kb mount option
2012-08-17 09:48:17 -04:00
fiemap.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
files.txt
Wrap accesses to the fd_sets in struct fdtable
2012-02-19 10:30:52 -08:00
fuse.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
gfs2-glocks.txt
GFS2: Update glock doc to add new stats info
2012-05-10 12:41:40 +01:00
gfs2-uevents.txt
Documentation: Fix multiple typo in Documentation
2012-03-07 16:08:24 +01:00
gfs2.txt
GFS2: Update main gfs2 doc
2012-05-10 11:45:31 +01:00
hfs.txt
Documentation: HFS is orphaned
2011-11-04 12:01:48 -07:00
hfsplus.txt
hpfs.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
inotify.txt
Documentation: fix inotify source file paths
2011-11-04 12:01:47 -07:00
isofs.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
jfs.txt
jfs: Remove obsolete email address
2012-09-17 12:00:01 -05:00
Locking
Documentation: get rid of write_super
2012-08-04 01:25:20 +04:00
locks.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
logfs.txt
fix "seperate" typos in comments
2010-05-10 11:56:30 +02:00
Makefile
Documentation/fs/: split txt and source files
2010-03-12 15:52:35 -08:00
mandatory-locking.txt
ncpfs.txt
ncpfs: remove dead URL from documentation
2009-09-23 07:39:42 -07:00
nilfs2.txt
nilfs2: remove resize from unsupported features list
2011-07-13 16:08:59 +09:00
ntfs.txt
Fix common misspellings
2011-03-31 11:26:23 -03:00
ocfs2.txt
ocfs2: clean up mount option about atime in ocfs2.txt
2011-05-23 23:37:12 -07:00
omfs.txt
omfs: add filesystem documentation
2008-07-26 12:00:05 -07:00
path-lookup.txt
Fix common misspellings
2011-03-31 11:26:23 -03:00
porting
Documentation: get rid of write_super
2012-08-04 01:25:20 +04:00
proc.txt
oom: remove deprecated oom_adj
2012-10-09 16:22:24 +09:00
qnx6.txt
Documentation: Fix typo in multiple files in Documentation
2012-04-16 14:37:13 +02:00
quota.txt
quota: documentation for sending "below quota" messages via netlink and tiny doc update
2008-08-12 16:07:27 -07:00
ramfs-rootfs-initramfs.txt
Documentation: Fix Broken URL "freshmeat"
2012-02-21 11:43:45 +01:00
relay.txt
relay: add buffer-only channels; useful for early logging
2008-07-26 12:00:04 -07:00
romfs.txt
Documentation/filesystems/romfs.txt: fixing link to genromfs
2011-02-17 22:04:46 +01:00
seq_file.txt
seq_file: use proc_create() in documentation
2009-12-16 07:20:07 -08:00
sharedsubtree.txt
Documentation: Fix trivial typo in filesystems/sharedsubtree.txt
2010-10-25 21:18:21 -04:00
spufs.txt
squashfs.txt
Squashfs: Update documentation to include xattrs
2011-12-30 01:20:24 +00:00
sysfs-pci.txt
PCI: Allow read/write access to sysfs I/O port resources
2010-07-30 09:32:08 -07:00
sysfs-tagging.txt
sysfs-namespaces: add a high-level Documentation file
2010-05-21 09:37:31 -07:00
sysfs.txt
sysfs: propagate umode_t
2012-01-03 22:55:03 -05:00
sysv-fs.txt
tmpfs.txt
mempolicy: document cpuset interaction with tmpfs mpol mount option
2010-05-25 08:06:57 -07:00
ubifs.txt
UBIFS: switch self-check knobs to debugfs
2011-07-04 10:54:28 +03:00
udf.txt
udf: implement mode and dmode mounting options
2009-04-02 12:29:50 +02:00
ufs.txt
vfat.txt
Documentation: update mount option in filesystem/vfat.txt
2012-08-21 16:45:02 -07:00
vfs.txt
Documentation: get rid of write_super
2012-08-04 01:25:20 +04:00
xfs-delayed-logging-design.txt
Fix common misspellings
2011-03-31 11:26:23 -03:00
xfs.txt
xfs: add online discard support
2011-05-24 11:17:13 -05:00
xip.txt
DOC: update xip method info
2008-11-12 17:17:17 -08:00