linux/fs/nfsd
J. Bruce Fields dba88ba55a nfsd4: remove state lock from nfsd4_load_reboot_recovery_data
That function is only called under nfsd_mutex: we know that because the
only caller is nfsd_svc, via

        nfsd_svc
          nfsd_startup
            nfs4_state_start
              nfsd4_client_tracking_init
                client_tracking_ops->init == nfsd4_load_reboot_recovery_data

The shared state accessed here includes:

        - user_recovery_dirname: used here, modified only by
          nfs4_reset_recoverydir, which can be verified to only be
          called under nfsd_mutex.
        - filesystem state, protected by i_mutex (handwaving slightly
	  here)
        - rec_file, reclaim_str_hashtbl, reclaim_str_hashtbl_size: other
          than here, used only from code called from nfsd or laundromat
          threads, both of which should be started only after this runs
          (see nfsd_svc) and stopped before this could run again (see
          nfsd_shutdown, called from nfsd_last_thread).

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2012-11-28 10:13:48 -05:00
..
acl.h nfsd4: remove outdated pathname-comments 2011-01-04 18:22:10 -05:00
auth.c Merge branch 'for-3.5' of git://linux-nfs.org/~bfields/linux 2012-06-01 08:32:58 -07:00
auth.h
cache.h nfsd: turn on reply cache for NFSv4 2011-07-18 09:39:01 -04:00
current_stateid.h nfsd41: use current stateid by value 2012-02-15 11:20:45 -05:00
export.c SUNRPC: service request network namespace helper introduced 2012-07-27 16:49:21 -04:00
fault_inject.c nfsd: return 0 on reads of fault injection files 2012-05-31 20:29:48 -04:00
fault_inject.h NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
idmap.h nfsd: pass network context to idmap init/exit functions 2012-04-12 09:12:10 -04:00
Kconfig NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
lockd.c nfsd: Remove deprecated nfsctl system call and related code. 2011-07-15 18:58:42 -04:00
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
netns.h nfsd: make laundromat network namespace aware 2012-11-15 07:40:51 -05:00
nfs2acl.c nfsd4: nfsaclsvc_encode_voidres static 2012-08-20 18:39:49 -04:00
nfs3acl.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
nfs3proc.c nfsd: do_nfsd_create verf argument is a u32 2012-08-20 18:39:49 -04:00
nfs3xdr.c nfsd: fix compose_entry_fh() failure exits 2012-04-13 10:12:02 -04:00
nfs4acl.c fs: add export.h to files using EXPORT_SYMBOL/THIS_MODULE macros 2011-10-31 19:30:31 -04:00
nfs4callback.c nfsd: make nfs4_client network namespace dependent 2012-11-15 07:40:42 -05:00
nfs4idmap.c NFSD: pass null terminated buf to kstrtouint() 2012-09-10 17:46:19 -04:00
nfs4proc.c nfsd4: delay filling in write iovec array till after xdr decoding 2012-11-26 09:08:15 -05:00
nfs4recover.c nfsd4: remove state lock from nfsd4_load_reboot_recovery_data 2012-11-28 10:13:48 -05:00
nfs4state.c nfsd4: downgrade some fs/nfsd/nfs4state.c BUG's 2012-11-26 09:08:16 -05:00
nfs4xdr.c nfsd4: return badname, not inval, on "." or "..", or "/" 2012-11-27 16:41:48 -05:00
nfscache.c nfsd: turn on reply cache for NFSv4 2011-07-18 09:39:01 -04:00
nfsctl.c nfsd: remove unused listener-removal interfaces 2012-09-10 10:55:19 -04:00
nfsd.h nfsd: remove redundant "port" argument 2012-08-21 17:07:49 -04:00
nfsfh.c exportfs: add FILEID_INVALID to indicate invalid fid_type 2012-11-07 19:22:30 -05:00
nfsfh.h fs: propagate umode_t, misc bits 2012-01-03 22:55:10 -05:00
nfsproc.c nfsd: Push mnt_want_write() outside of i_mutex 2012-07-31 01:02:51 +04:00
nfssvc.c nfsd: fix v4 reply caching 2012-11-26 09:05:19 -05:00
nfsxdr.c Fix common misspellings 2011-03-31 11:26:23 -03:00
state.h nfsd: pass nfsd_net instead of net to grace enders 2012-11-15 07:40:50 -05:00
stats.c SUNRPC: register service stats /proc entries in passed network namespace context 2012-01-31 19:28:18 -05:00
vfs.c nfsd: use vfs_fsync_range(), not O_SYNC, for stable writes 2012-11-07 19:31:34 -05:00
vfs.h nfsd: Push mnt_want_write() outside of i_mutex 2012-07-31 01:02:51 +04:00
xdr3.h
xdr4.h nfsd4: delay filling in write iovec array till after xdr decoding 2012-11-26 09:08:15 -05:00
xdr.h