History

NFSv4/4.1: Fix nfs4_schedule_state_recovery abuses

nfs4_schedule_state_recovery() should only be used when we need to force the state manager to check the lease. If we just want to start the state manager in order to handle a state recovery situation, we should be using nfs4_schedule_state_manager(). This patch fixes the abuses of nfs4_schedule_state_recovery() by replacing its use with a set of helper functions that do the right thing.

Trond Myklebust committed 15 years ago

Commit 0400a6b1 parent c34c32e4 files · +52 −34Browse files

Showing the changes to include (1 of 4 files). Show all

Unified · Split

include/linux/nfs_fs_sb.h+3−5
@@ -68,9 +68,7 @@ struct nfs_client { · 67 unmodified lines
68 unsigned char cl_id_uniquifier;68 unsigned char cl_id_uniquifier;
69 u32 cl_cb_ident; /* v4.0 callback identifier */69 u32 cl_cb_ident; /* v4.0 callback identifier */
70 const struct nfs4_minor_version_ops *cl_mvops;70 const struct nfs4_minor_version_ops *cl_mvops;
71#endif /* CONFIG_NFS_V4 */
72 71
73#ifdef CONFIG_NFS_V4_1
74 /* The sequence id to use for the next CREATE_SESSION */72 /* The sequence id to use for the next CREATE_SESSION */
75 u32 cl_seqid;73 u32 cl_seqid;
76 /* The flags used for obtaining the clientid during EXCHANGE_ID */74 /* The flags used for obtaining the clientid during EXCHANGE_ID */
@@ -78,7 +76,7 @@ struct nfs_client { · 1 unmodified line
78 struct nfs4_session *cl_session; /* sharred session */76 struct nfs4_session *cl_session; /* sharred session */
79 struct list_head cl_layouts;77 struct list_head cl_layouts;
80 struct pnfs_deviceid_cache *cl_devid_cache; /* pNFS deviceid cache */78 struct pnfs_deviceid_cache *cl_devid_cache; /* pNFS deviceid cache */
81#endif /* CONFIG_NFS_V4_1 */79#endif /* CONFIG_NFS_V4 */
82 80
83#ifdef CONFIG_NFS_FSCACHE81#ifdef CONFIG_NFS_FSCACHE
84 struct fscache_cookie *fscache; /* client index cache cookie */82 struct fscache_cookie *fscache; /* client index cache cookie */
@@ -183,7 +181,7 @@ struct nfs_server { · 98 unmodified lines
183/* maximum number of slots to use */181/* maximum number of slots to use */
184#define NFS4_MAX_SLOT_TABLE RPC_MAX_SLOT_TABLE182#define NFS4_MAX_SLOT_TABLE RPC_MAX_SLOT_TABLE
185 183
186#if defined(CONFIG_NFS_V4_1)184#if defined(CONFIG_NFS_V4)
187 185
188/* Sessions */186/* Sessions */
189#define SLOT_TABLE_SZ (NFS4_MAX_SLOT_TABLE/(8*sizeof(long)))187#define SLOT_TABLE_SZ (NFS4_MAX_SLOT_TABLE/(8*sizeof(long)))
@@ -223,5 +221,5 @@ struct nfs4_session { · 33 unmodified lines
223 struct nfs_client *clp;221 struct nfs_client *clp;
224};222};
225 223
226#endif /* CONFIG_NFS_V4_1 */224#endif /* CONFIG_NFS_V4 */
227#endif225#endif