equal
deleted
inserted
replaced
105 } |
105 } |
106 |
106 |
107 ASSERT(iReservedSectors >= (bFat32 ? KDefFat32ResvdSec : KDefFatResvdSec)); |
107 ASSERT(iReservedSectors >= (bFat32 ? KDefFat32ResvdSec : KDefFatResvdSec)); |
108 |
108 |
109 if ((FirstDataSector() & (aEraseBlockSizeInSectors-1)) == 0) |
109 if ((FirstDataSector() & (aEraseBlockSizeInSectors-1)) == 0) |
110 { |
|
111 return KErrNone; |
110 return KErrNone; |
112 } |
111 |
113 else |
112 |
114 { |
113 iReservedSectors = reservedSectorsSaved; |
115 iReservedSectors = reservedSectorsSaved; |
114 iSectorsPerFat = sectorsPerFatSaved; |
116 iSectorsPerFat = sectorsPerFatSaved; |
115 return KErrGeneral; |
117 return KErrGeneral; |
|
118 } |
|
119 } |
116 } |
120 |
117 |
121 |
118 |
122 //------------------------------------------------------------------------------------------------------------------- |
119 //------------------------------------------------------------------------------------------------------------------- |
123 |
120 |
281 iCurrentStep=1; |
278 iCurrentStep=1; |
282 return; |
279 return; |
283 } |
280 } |
284 } |
281 } |
285 |
282 |
286 // ReMount since MBR may have been rewritten and partition may have moved / changed size |
283 |
287 TInt ret = LocalDrive()->ForceRemount(0); |
284 {//-- ReMount whole driver stack since MBR may have been rewritten and partition may have moved / changed size. |
288 if (ret != KErrNone && ret != KErrNotSupported) |
285 |
289 User::Leave(ret); |
286 //-- this is mostly applicable to SD cards formatting, since SD stack takes care of creating partition table. |
|
287 //-- use KForceMediaChangeReOpenAllMediaDrivers flag that will cause remounting media |
|
288 //-- drivers associatied with the current partition only and not affecting other ones. |
|
289 const TInt ret = LocalDrive()->ForceRemount((TUint)RFs::KForceMediaChangeReOpenMediaDriver); |
|
290 if(ret != KErrNone && ret != KErrNotSupported) |
|
291 User::Leave(ret); |
|
292 } |
|
293 |
290 |
294 |
291 // MBR may have changed, so need to re-read iHiddenSectors etc.before BPB is written |
295 // MBR may have changed, so need to re-read iHiddenSectors etc.before BPB is written |
292 InitializeFormatDataL(); |
296 InitializeFormatDataL(); |
293 |
297 |
294 // Translate bad sector number to cluster number which contains that sector |
298 // Translate bad sector number to cluster number which contains that sector |