linux/fs/nfs
Trond Myklebust 612c9384fd NFS: Fix the 'desynchronized value of nfs_i.ncommit' error
Redirtying a request that is already marked for commit will screw up the
accounting for NR_UNSTABLE_NFS as well as nfs_i.ncommit.
Ensure that all requests on the commit queue are labelled with the
PG_NEED_COMMIT flag, and avoid moving them onto the dirty list inside
nfs_page_mark_flush().

Also inline nfs_mark_request_dirty() into nfs_page_mark_flush() for
atomicity reasons. Avoid dropping the spinlock until we're done marking the
request in the radix tree and have added it to the ->dirty list.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-20 22:56:29 -07:00
..
callback_proc.c [PATCH] fs/nfs/callback* passes error values big-endian 2006-10-20 10:26:40 -07:00
callback_xdr.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
callback.c [PATCH] knfsd: SUNRPC: Provide room in svc_rqst for larger addresses 2007-02-12 09:48:36 -08:00
callback.h [PATCH] xdr annotations: fs/nfs/callback* 2006-10-20 10:26:40 -07:00
client.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2007-02-12 22:43:25 -08:00
delegation.c [PATCH] fs: Removing useless casts 2006-09-27 08:26:10 -07:00
delegation.h NFS: Rename struct nfs4_client to struct nfs_client 2006-09-22 23:24:31 -04:00
dir.c NFS: Fix an Oops in nfs_setattr() 2007-04-14 21:46:47 -07:00
direct.c NFS: Fix two bugs in the O_DIRECT write code 2007-04-14 21:46:48 -07:00
file.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
getroot.c NFSv4: Don't require that NFSv4 mount paths begin with '/' 2007-02-03 15:35:05 -08:00
idmap.c [PATCH] nfs: change uses of f_{dentry,vfsmnt} to use f_path 2006-12-08 08:28:41 -08:00
inode.c NFS: Fix an Oops in nfs_setattr() 2007-04-14 21:46:47 -07:00
internal.h NFSv4: Cleanups for fs_locations code. 2007-02-03 15:35:06 -08:00
iostat.h
Makefile NFS: Share NFS superblocks per-protocol per-server per-FSID 2006-09-22 23:24:37 -04:00
mount_clnt.c [PATCH] xdr annotations: mount_clnt 2006-10-20 10:26:41 -07:00
namespace.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
nfs2xdr.c [PATCH] xdr annotations: NFS readdir entries 2006-10-20 10:26:40 -07:00
nfs3acl.c NFSv3: Client-side nfsacl caching fix 2006-06-09 09:34:11 -04:00
nfs3proc.c NFS: Remove nfs_readpage_sync() 2007-02-03 15:35:06 -08:00
nfs3xdr.c [PATCH] xdr annotations: NFS readdir entries 2006-10-20 10:26:40 -07:00
nfs4_fs.h Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2007-02-12 22:43:25 -08:00
nfs4namespace.c NFSv4: /proc/mounts displays the wrong server name for referrals 2007-02-03 15:35:10 -08:00
nfs4proc.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ 2007-02-12 22:43:25 -08:00
nfs4renewd.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
nfs4state.c NFS: Share NFS superblocks per-protocol per-server per-FSID 2006-09-22 23:24:37 -04:00
nfs4xdr.c NFSv4: Fix NFS4_enc_server_caps_sz/NFS4_dec_server_caps_sz 2007-02-03 15:35:03 -08:00
nfsroot.c [NET]: ipconfig and nfsroot annotations 2006-12-02 21:21:09 -08:00
pagelist.c Merge branch 'master' of /home/trondmy/kernel/linux-2.6/ into merge_linus 2006-12-07 16:35:17 -05:00
proc.c NFS: Remove nfs_readpage_sync() 2007-02-03 15:35:06 -08:00
read.c NFS: fix print format for tk_pid 2007-02-03 15:35:09 -08:00
super.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
symlink.c [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysctl.c [PATCH] nfs: fix congestion control 2007-03-16 19:25:05 -07:00
unlink.c
write.c NFS: Fix the 'desynchronized value of nfs_i.ncommit' error 2007-04-20 22:56:29 -07:00