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.
Showing the changes to include (1 of 4 files). Show all
Unified · Split
| @@ -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_FSCACHE | 81 | #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_TABLE | 182 | #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 | #endif | 225 | #endif |