]> Pileus Git - ~andy/linux/blobdiff - fs/nfs/nfs4_fs.h
NFSv4: Replace state_owner->so_owner_id with an ida based allocator
[~andy/linux] / fs / nfs / nfs4_fs.h
index 4d7d0aedc101831ecb3b10cf345f0e18e7ca56ad..091b679747ed3579f2b9b70f08131eccdc48f81a 100644 (file)
@@ -92,7 +92,6 @@ struct nfs_unique_id {
  * semantics by allowing the server to identify replayed requests.
  */
 struct nfs4_state_owner {
-       struct nfs_unique_id so_owner_id;
        struct nfs_server    *so_server;
        struct list_head     so_lru;
        unsigned long        so_expires;
@@ -106,6 +105,7 @@ struct nfs4_state_owner {
        struct list_head     so_states;
        struct nfs_seqid_counter so_seqid;
        struct rpc_sequence  so_sequence;
+       int                  so_owner_id;
 };
 
 enum {
@@ -319,7 +319,7 @@ static inline void nfs4_schedule_session_recovery(struct nfs4_session *session)
 }
 #endif /* CONFIG_NFS_V4_1 */
 
-extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *);
+extern struct nfs4_state_owner *nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *, gfp_t);
 extern void nfs4_put_state_owner(struct nfs4_state_owner *);
 extern void nfs4_purge_state_owners(struct nfs_server *);
 extern struct nfs4_state * nfs4_get_open_state(struct inode *, struct nfs4_state_owner *);