diff -r 5c4b0c1fa5f8 -r 73107a0bc259 baseport/syborg/svphostfs/driver/svphostfsdriver.cpp --- a/baseport/syborg/svphostfs/driver/svphostfsdriver.cpp Wed Oct 14 14:20:29 2009 +0100 +++ b/baseport/syborg/svphostfs/driver/svphostfsdriver.cpp Wed Oct 21 10:29:21 2009 +0100 @@ -416,7 +416,14 @@ if (KErrNone != err) { - DP("Error %d from DoRequest", err); + + if (err == KErrNotSupported) + { + err = KErrNone; // trap KErrNotSupported + } + + DP("Error %d from DoRequest %d", err, aReqNo); + } return err; @@ -437,6 +444,12 @@ if (KErrNone != err) { + + if (err == KErrNotSupported) + { + err = KErrNone; // trap KErrNotSupported + } + DP("** (SVPHOSTFSDRIVER) Error %d from control function", err); } @@ -501,7 +514,16 @@ SVPWriteReg(device, EArg2, info.iFlags); SVPInvoke(device, RSVPHostFsDriver::EMkDir); - return SVPReadReg(device, EResult); + + //return SVPReadReg(device, EResult); + + err = SVPReadReg(device, EResult); + + if(err == KErrPathNotFound) + err = KErrNotFound; + + return err; + } @@ -637,7 +659,20 @@ SVPWriteReg(device, EArg1, info.iLength); SVPInvoke(device, RSVPHostFsDriver::EEntry); - RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + //RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + err = SVPReadReg(device, EResult); + + if(err!=KErrNone) + { + if(err == KErrPathNotFound) + err = KErrNotFound; + + return err; + } + + TUint32 att = SVPReadReg(device, EArg0); TUint32 modified = SVPReadReg(device, EArg1); @@ -690,7 +725,20 @@ SVPWriteReg(device, EArg1, info.iLength); SVPInvoke(device, RSVPHostFsDriver::EDirOpen); - RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + //RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + err = SVPReadReg(device, EResult); + + if(err!=KErrNone) + { + + if(err==KErrPathNotFound) + err=KErrNotFound; + + return err; + } + // handle is in arg 0 TUint32 handle = SVPReadReg(device, EArg0); @@ -719,7 +767,20 @@ SVPWriteReg(device, EArg3, info.iOpen); SVPInvoke(device, RSVPHostFsDriver::EFileOpen); - RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + //RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + err = SVPReadReg(device, EResult); + + if(err!=KErrNone) + { + if(err == KErrPathNotFound) + err = KErrNotFound; + + return err; + } + + TUint32 handle = SVPReadReg(device, EArg0); TUint32 att = SVPReadReg(device, EArg1); @@ -797,7 +858,20 @@ SVPWriteReg(device, EArg3, info.iLength); SVPInvoke(device, RSVPHostFsDriver::EFileWrite); - RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + // RET_IF_ERROR(err, SVPReadReg(device, EResult)); + + err = SVPReadReg(device, EResult); + + if(err!=KErrNone) + { + if(err == KErrPathNotFound) + err = KErrNotFound; + + return err; + } + + TUint32 len = SVPReadReg(device, EArg0); @@ -831,7 +905,9 @@ { DP("** (SVPHOSTFSDRIVER) DSVPHostFsChannel::FileSetEntry()"); - return KErrNotSupported; + + return KErrNone; + } TInt DSVPHostFsChannel::DirClose(TUint32 aDrive, TUint32 aHandle)