kernel-ark/fs/nfs
Chuck Lever fedb595c66 NFS: "open code" the NFS direct write rescheduler
An NFSv3/v4 client must reschedule on-the-wire writes if the writes are
UNSTABLE, and the server reboots before the client can complete a
subsequent COMMIT request.

To support direct asynchronous scatter-gather writes, the write
rescheduler in fs/nfs/direct.c must not depend on the I/O parameters
in the controlling nfs_direct_req structure.  iovecs can be somewhat
arbitrarily complex, so there could be an unbounded amount of information
to save for a rarely encountered requirement.

Refactor the direct write rescheduler so it uses information from each
nfs_write_data structure to reschedule writes, instead of caching that
information in the controlling nfs_direct_req structure.

Signed-off-by: Chuck Lever <cel@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-06-24 13:11:38 -04:00
..
callback_proc.c
callback_xdr.c NFSv4: really return status from decode_recall_args() 2006-06-09 09:34:12 -04:00
callback.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
callback.h
delegation.c NFSv4: Send the delegation stateid for SETATTR calls 2006-03-20 13:44:46 -05:00
delegation.h NFSv4: Send the delegation stateid for SETATTR calls 2006-03-20 13:44:46 -05:00
dir.c NFS: Ensure the client submounts, when it crosses a server mountpoint. 2006-06-09 09:34:19 -04:00
direct.c NFS: "open code" the NFS direct write rescheduler 2006-06-24 13:11:38 -04:00
file.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2006-06-24 13:07:53 -04:00
idmap.c NFS: Store the file system "fsid" value in the NFS super block. 2006-06-09 09:34:19 -04:00
inode.c [PATCH] VFS: Permit filesystem to perform statfs with a known root dentry 2006-06-23 07:42:45 -07:00
internal.h NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
iostat.h NFSv4: Fix an oops in nfs4_fill_super 2006-03-20 13:44:48 -05:00
Makefile NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
mount_clnt.c Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 2006-03-25 09:18:27 -08:00
namespace.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs2xdr.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2006-06-24 13:07:53 -04:00
nfs3acl.c NFSv3: Client-side nfsacl caching fix 2006-06-09 09:34:11 -04:00
nfs3proc.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs3xdr.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs4_fs.h NFSv4: Define an fs_locations bitmap 2006-06-09 09:34:25 -04:00
nfs4namespace.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs4proc.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
nfs4renewd.c
nfs4state.c NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE 2006-03-20 13:44:47 -05:00
nfs4xdr.c NFSv4: A root pathname is sent as a zero component4 2006-06-09 09:34:30 -04:00
nfsroot.c
pagelist.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
proc.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
read.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00
super.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2006-06-24 13:07:53 -04:00
symlink.c NFS: Separate metadata and page cache revalidation mechanisms 2006-06-09 09:34:09 -04:00
sysctl.c NFS: Add timeout to submounts 2006-06-09 09:34:20 -04:00
unlink.c NFS: kzalloc conversion in fs/nfs 2006-03-20 13:44:10 -05:00
write.c NFS: Split fs/nfs/inode.c 2006-06-09 09:34:33 -04:00