diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2013-12-11 23:28:31 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2013-12-11 23:28:31 +0000 |
commit | 6d1eed3f4094630bd37d5d5cc9cc9355e9a62596 (patch) | |
tree | 06270bc94a7b2e7e810a830ca2c734419fd5cfe7 /sys/fs/nfs/nfs_var.h | |
parent | 89f39922eeb419af3bbb369e1a9d8f5fd4a8ead2 (diff) | |
download | FreeBSD-src-6d1eed3f4094630bd37d5d5cc9cc9355e9a62596.zip FreeBSD-src-6d1eed3f4094630bd37d5d5cc9cc9355e9a62596.tar.gz |
MFC: r257901
Fix an NFSv4.1 client specific case where a forced dismount would hang.
The hang occurred in nfsv4_setsequence() when it couldn't find an
available session slot and is fixed by checking for a forced dismount
in progress and just returning for this case.
Diffstat (limited to 'sys/fs/nfs/nfs_var.h')
-rw-r--r-- | sys/fs/nfs/nfs_var.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 1edb8a3..f6a974e 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -265,7 +265,8 @@ int nfsv4_getipaddr(struct nfsrv_descript *, struct sockaddr_storage *, int nfsv4_seqsession(uint32_t, uint32_t, uint32_t, struct nfsslot *, struct mbuf **, uint16_t); void nfsv4_seqsess_cacherep(uint32_t, struct nfsslot *, struct mbuf *); -void nfsv4_setsequence(struct nfsrv_descript *, struct nfsclsession *, int); +void nfsv4_setsequence(struct nfsmount *, struct nfsrv_descript *, + struct nfsclsession *, int); void nfsv4_freeslot(struct nfsclsession *, int); /* nfs_clcomsubs.c */ |