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:
Casey Bodley 2010-11-05 15:36:10 -04:00
parent 38813e13d8
commit 50dbd847f0

View file

@ -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: