diff -r ff5437e4337c -r 48e57fb1237e userlibandfileserver/fileserver/inc/f32fsys.h --- a/userlibandfileserver/fileserver/inc/f32fsys.h Wed Oct 06 17:13:14 2010 +0100 +++ b/userlibandfileserver/fileserver/inc/f32fsys.h Mon Oct 11 17:54:41 2010 +0100 @@ -251,7 +251,6 @@ IMPORT_C TName Name() const; IMPORT_C virtual TBool IsCorrectThread(); inline CFsObjectCon* Container() const; - inline TInt AccessCount() const; protected: void DoClose(); TInt UniqueID() const; @@ -469,7 +468,11 @@ TInt DismountProxyDrive(); TInt ForceUnmountFileSystemForFormatting(); -public: + void DismountClientAdded(); + void DismountClientRemoved(); + TInt DismountClientCount(); + TInt DeferredDismountCheck(); + void DismountLock(); TInt DismountUnlock(); TInt DismountLocked() const; @@ -518,7 +521,6 @@ IMPORT_C TBool IsMainThread() const; IMPORT_C void DriveFault(TBool aDriveError) const; void DoDismount(); - void DoCompleteDismountNotify(TInt aCompletionCode); private: @@ -526,7 +528,7 @@ enum { ENotifyOff = 0x01, - EDismountDeferred= 0x02, + EDismountDeferred= 0x02, // Dismount initiated, waiting for clients to respond with EFsAllowDismount or files to become unclamped ENotRugged = 0x04, EClampPresent = 0x08, EDriveIsSynch = 0x10, //-- is set on mount when the drive is synchronous (doesn't have its own thread) @@ -550,9 +552,9 @@ TInt iDismountLock; TInt iMountFailures; // number of times the mount has failed TInt iLastMountError; - - TInt iSpare1; - TInt iSpare2; + + TInt iDismountClientCount; // number of EFsAllowDismount requests pending following a EFsDismountNotifyClients request + CFsInternalRequest* iDeferredDismountRequest; friend class LocalDrives; // for access to iChanged flag @@ -2039,9 +2041,6 @@ void InitL(); inline CFileCB& File(); - // override CFsDispatchObject::Close() so that we can flush dirty data - void Close(); - // For serialising aync requests TBool RequestStart(CFsMessageRequest* aRequest); void RequestEnd(CFsMessageRequest* aRequest);