alistair23-linux/fs/nfs
Trond Myklebust 788e7a89a0 NFS: Cleanup of NFS write code in preparation for asynchronous o_direct
This patch inverts the callback hierarchy for NFS write calls.

Instead of having the NFSv2/v3/v4-specific code set up the RPC callback
ops, we allow the original caller to do so. This allows for more
flexibility w.r.t. how to set up and tear down the nfs_write_data
structure while still allowing the NFSv3/v4 code to perform error
handling.

The greater flexibility is needed by the asynchronous O_DIRECT code, which
wants to be able to hold on to the original nfs_write_data structures after
the WRITE RPC call has completed in order to be able to replay them if the
COMMIT call determines that the server has rebooted.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-03-20 13:44:27 -05:00
..
callback.c NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
callback.h NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
callback_proc.c NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
callback_xdr.c NFSv4: Kill braindead gcc warnings 2006-03-20 13:44:10 -05:00
delegation.c NFSv4: Fix an Oops in nfs_do_expire_all_delegations 2006-01-06 14:58:58 -05:00
delegation.h NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
dir.c NFS: directory trace messages 2006-03-20 13:44:24 -05:00
direct.c NFS: add I/O performance counters 2006-03-20 13:44:14 -05:00
file.c locks,lockd: fix race in nlmsvc_testlock 2006-03-20 13:44:26 -05:00
idmap.c NFS: sem2mutex idmap.c 2006-03-20 13:44:11 -05:00
inode.c NFS: add RPC I/O statistics to /proc/self/mountstats 2006-03-20 13:44:22 -05:00
iostat.h NFS: add hooks to account for NFSERR_JUKEBOX errors 2006-03-20 13:44:14 -05:00
Makefile NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
mount_clnt.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
nfs2xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfs3acl.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
nfs3proc.c NFS: Cleanup of NFS write code in preparation for asynchronous o_direct 2006-03-20 13:44:27 -05:00
nfs3xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfs4_fs.h NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4proc.c NFS: Cleanup of NFS write code in preparation for asynchronous o_direct 2006-03-20 13:44:27 -05:00
nfs4renewd.c NFSv4: Remove requirement for machine creds for the "renew" operation 2006-01-06 14:58:47 -05:00
nfs4state.c NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfsroot.c [PATCH] nfsroot port= parameter fix [backport of 2.4 fix] 2006-02-07 21:00:42 -05:00
pagelist.c NFS: Avoid races between writebacks and truncation 2006-03-20 13:44:04 -05:00
proc.c NFS: Cleanup of NFS write code in preparation for asynchronous o_direct 2006-03-20 13:44:27 -05:00
read.c NFS: add I/O performance counters 2006-03-20 13:44:14 -05:00
symlink.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
sysctl.c NFSv4: Allow entries in the idmap cache to expire 2006-01-06 14:58:58 -05:00
unlink.c NFS: kzalloc conversion in fs/nfs 2006-03-20 13:44:10 -05:00
write.c NFS: Cleanup of NFS write code in preparation for asynchronous o_direct 2006-03-20 13:44:27 -05:00