diff -r 0ff03867bdb6 -r 39b39e1a406e userlibandfileserver/fileserver/sfat32/sl_drv.cpp --- a/userlibandfileserver/fileserver/sfat32/sl_drv.cpp Wed Jul 21 14:46:58 2010 +0100 +++ b/userlibandfileserver/fileserver/sfat32/sl_drv.cpp Thu Jul 22 16:46:39 2010 +0100 @@ -49,6 +49,7 @@ { if((iMount != NULL) && (iMount->LocalDrive() != NULL)) { + ASSERT(iMount->LocalDrive()->Mount() == NULL || iMount->LocalDrive()->Mount() == iMount); iMount->LocalDrive()->SetMount(NULL); } iMount = NULL; @@ -117,7 +118,7 @@ @return KErrBadPower - failure due to low power */ -TInt TDriveInterface::ReadNonCritical(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const +TInt TDriveInterface::ReadNonCritical(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag) const { //__PRINT2(_L("#=+++ Read_nc2: pos:%LU, len:%u"), aPos, aLength); @@ -126,7 +127,7 @@ for(;;) { - nRes = iProxyDrive.Read(aPos, aLength, aTrg, aMessage, anOffset); + nRes = iProxyDrive.Read(aPos, aLength, aTrg, aMessage, anOffset, aFlag); if (nRes==KErrNone) break; @@ -200,7 +201,7 @@ @return KErrCorrupt - an illegal write is detected @return KErrAccessDenied - write to protected media */ -TInt TDriveInterface::WriteNonCritical(TInt64 aPos, TInt aLength, const TAny* aSrc, const RMessagePtr2 &aMessage, TInt anOffset) +TInt TDriveInterface::WriteNonCritical(TInt64 aPos, TInt aLength, const TAny* aSrc, const RMessagePtr2 &aMessage, TInt anOffset, TUint aFlag) { //__PRINT2(_L("#=+++ Write_NC: pos:%LU, len:%u"), aPos, aLength); @@ -211,7 +212,7 @@ for(;;) { iMount->OpenMountForWrite(); //-- make a callback to CFatMountCB to perform some actions on 1st write. - nRes = iProxyDrive.Write(aPos, aLength, aSrc, aMessage, anOffset); + nRes = iProxyDrive.Write(aPos, aLength, aSrc, aMessage, anOffset, aFlag); if (nRes==KErrNone) break; @@ -542,10 +543,10 @@ //-- see original TDriveInterface methods -TInt TDriveInterface::XProxyDriveWrapper::Read(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset) const +TInt TDriveInterface::XProxyDriveWrapper::Read(TInt64 aPos,TInt aLength,const TAny* aTrg,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag) const { EnterCriticalSection(); - TInt nRes = iLocalDrive->Read(aPos, aLength, aTrg, aMessage.Handle(), anOffset); + TInt nRes = iLocalDrive->Read(aPos, aLength, aTrg, aMessage.Handle(), anOffset, aFlag); LeaveCriticalSection(); return nRes; } @@ -558,10 +559,10 @@ return nRes; } -TInt TDriveInterface::XProxyDriveWrapper::Write(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset) +TInt TDriveInterface::XProxyDriveWrapper::Write(TInt64 aPos,TInt aLength,const TAny* aSrc,const RMessagePtr2 &aMessage,TInt anOffset, TUint aFlag) { EnterCriticalSection(); - TInt nRes = iLocalDrive->Write(aPos, aLength, aSrc, aMessage.Handle(), anOffset); + TInt nRes = iLocalDrive->Write(aPos, aLength, aSrc, aMessage.Handle(), anOffset, aFlag); LeaveCriticalSection(); return nRes; }