userlibandfileserver/fileserver/sfile/sf_file.cpp
changeset 286 48e57fb1237e
parent 273 6a75fa55495f
child 299 b5a01337d018
--- a/userlibandfileserver/fileserver/sfile/sf_file.cpp	Wed Oct 06 17:13:14 2010 +0100
+++ b/userlibandfileserver/fileserver/sfile/sf_file.cpp	Mon Oct 11 17:54:41 2010 +0100
@@ -2772,22 +2772,6 @@
 	iFile->Close();
 	}
 
-void CFileShare::Close()
-	{
-	
-	// Flush the write cache before closing the file share
-	// NB If there is any dirty data, then a new request will be allocated which will increase
-	// the reference count on this file share, thus preventing it from being deleted untill all 
-	// data has been flushed
-	if (AccessCount() == 1)
-		{
-		CFileCache* fileCache = File().FileCache();
-		if (fileCache)
-			fileCache->FlushDirty();
-		}
-
-	CFsDispatchObject::Close();
-	}
 
 
 /**
@@ -3267,8 +3251,8 @@
 		{
 		ASSERT(NoOfClamps() == 0);
 		drive.SetClampFlag(EFalse);
-		if (drive.DismountDeferred())
-			r = drive.DeferredDismount();
+		// dismount now if no clients waiting...
+		r = drive.DeferredDismountCheck();
 		}
 
 	return r;