driver: open files for one mount won't prevent unmount another
IOCTL_NFS41_DELCONN had a check for RxDeviceObject->NumberOfActiveFcbs before calling nfs41_DeleteConnection(). this prevents us from unmounting even if the netroot has no open files, and is redundant because nfs41_FinalizeNetRoot() already has the necessary check for NetRoot->NumberOfFcbs/SrvOpens Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
parent
38813e13d8
commit
50dbd847f0
1 changed files with 1 additions and 7 deletions
|
|
@ -1790,7 +1790,7 @@ nfs41_DeleteConnection (
|
||||||
if (NodeType(VNetRoot) == RDBSS_NTC_V_NETROOT)
|
if (NodeType(VNetRoot) == RDBSS_NTC_V_NETROOT)
|
||||||
{
|
{
|
||||||
DbgP("Calling RxFinalizeConnection for NetRoot %p from VNetRoot %p\n",
|
DbgP("Calling RxFinalizeConnection for NetRoot %p from VNetRoot %p\n",
|
||||||
VNetRoot->NetRoot, VNetRoot);
|
VNetRoot->NetRoot, VNetRoot);
|
||||||
status = RxFinalizeConnection(VNetRoot->NetRoot, VNetRoot, TRUE);
|
status = RxFinalizeConnection(VNetRoot->NetRoot, VNetRoot, TRUE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -1837,12 +1837,6 @@ NTSTATUS nfs41_DevFcbXXXControlFile(
|
||||||
status = nfs41_CreateConnection(RxContext, &RxContext->PostRequest);
|
status = nfs41_CreateConnection(RxContext, &RxContext->PostRequest);
|
||||||
break;
|
break;
|
||||||
case IOCTL_NFS41_DELCONN:
|
case IOCTL_NFS41_DELCONN:
|
||||||
if (RxContext->RxDeviceObject->NumberOfActiveFcbs > 0) {
|
|
||||||
DbgP("device has open handles %d\n",
|
|
||||||
RxContext->RxDeviceObject->NumberOfActiveFcbs);
|
|
||||||
status = STATUS_REDIRECTOR_HAS_OPEN_HANDLES;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
status = nfs41_DeleteConnection(RxContext, &RxContext->PostRequest);
|
status = nfs41_DeleteConnection(RxContext, &RxContext->PostRequest);
|
||||||
break;
|
break;
|
||||||
case IOCTL_NFS41_GETSTATE:
|
case IOCTL_NFS41_GETSTATE:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue