diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-05 08:11:21 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-05 08:11:21 +0200 |
commit | b53761e36a509609e91a797fa63648ec43aecc13 (patch) | |
tree | 4bbb955440c7eeac562a2abc6046c60255943cbb /fs/nfs/nfs4session.h | |
parent | d2f5a7311bcaed681a41cb3419b8fe92a7b68bf5 (diff) | |
parent | c6935931c1894ff857616ff8549b61236a19148f (diff) | |
download | op-kernel-dev-b53761e36a509609e91a797fa63648ec43aecc13.zip op-kernel-dev-b53761e36a509609e91a797fa63648ec43aecc13.tar.gz |
Merge 4.8-rc5 into tty-next
We want the fixes in here for merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/nfs/nfs4session.h')
-rw-r--r-- | fs/nfs/nfs4session.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/nfs/nfs4session.h b/fs/nfs/nfs4session.h index 5b51298..f703b75 100644 --- a/fs/nfs/nfs4session.h +++ b/fs/nfs/nfs4session.h @@ -21,7 +21,8 @@ struct nfs4_slot { unsigned long generation; u32 slot_nr; u32 seq_nr; - unsigned int interrupted : 1; + unsigned int interrupted : 1, + seq_done : 1; }; /* Sessions */ @@ -36,6 +37,7 @@ struct nfs4_slot_table { unsigned long used_slots[SLOT_TABLE_SZ]; /* used/unused bitmap */ spinlock_t slot_tbl_lock; struct rpc_wait_queue slot_tbl_waitq; /* allocators may wait here */ + wait_queue_head_t slot_waitq; /* Completion wait on slot */ u32 max_slots; /* # slots in table */ u32 max_slotid; /* Max allowed slotid value */ u32 highest_used_slotid; /* sent to server on each SEQ. @@ -78,6 +80,9 @@ extern int nfs4_setup_slot_table(struct nfs4_slot_table *tbl, extern void nfs4_shutdown_slot_table(struct nfs4_slot_table *tbl); extern struct nfs4_slot *nfs4_alloc_slot(struct nfs4_slot_table *tbl); extern struct nfs4_slot *nfs4_lookup_slot(struct nfs4_slot_table *tbl, u32 slotid); +extern int nfs4_slot_wait_on_seqid(struct nfs4_slot_table *tbl, + u32 slotid, u32 seq_nr, + unsigned long timeout); extern bool nfs4_try_to_lock_slot(struct nfs4_slot_table *tbl, struct nfs4_slot *slot); extern void nfs4_free_slot(struct nfs4_slot_table *tbl, struct nfs4_slot *slot); extern void nfs4_slot_tbl_drain_complete(struct nfs4_slot_table *tbl); |