userlibandfileserver/fileserver/sfat32/fat_config.cpp
changeset 266 0008ccd16016
parent 90 947f0dc9f7a8
equal deleted inserted replaced
259:57b9594f5772 266:0008ccd16016
    53 //-- Using FAT bit supercache for fast free cluster lookup
    53 //-- Using FAT bit supercache for fast free cluster lookup
    54 //-- e.g:   FAT_FAT32_UseBitSupercache 0
    54 //-- e.g:   FAT_FAT32_UseBitSupercache 0
    55 _LIT8(KPN_FAT32_UseFatBitSupercache, "FAT_FAT32_UseBitSupercache"); 
    55 _LIT8(KPN_FAT32_UseFatBitSupercache, "FAT_FAT32_UseBitSupercache"); 
    56 static const TUint32 KDef_FAT32_UseFatBitSupercache = 1;
    56 static const TUint32 KDef_FAT32_UseFatBitSupercache = 1;
    57 
    57 
       
    58 //-- FAT free space scan thread threshold in MegaBytes. If this value is set, the call to ::VolumeL() may be blocked until
       
    59 //-- the given amount of free space (MB) is counted  by FAT32 free space scan thread. After this calls to ::VolumeL() will
       
    60 //-- become asynchronous, returning _current_ amount of free space (whic is > than the given threshold)
       
    61 //-- This may help avoiding the situation when FAT32 asynchronous mounting basically turns into a synchronous one,  when someone is calling RFs::Volume()
       
    62 //-- just after FAT free space scan thread started. In such a case only first free NNN megabytes will be discovered synchronously, after this
       
    63 //-- the RFs::Volume() call will become asynchronous, returning the changing amount of free spece on the volume.
       
    64 
       
    65 //-- the default value is 0, which means: "no threshold, don't use it"
       
    66 _LIT8(KPN_FAT32_SyncScanThreshold, "FAT_FAT32_SyncScanThr"); 
       
    67 static const TUint32 KDef_FAT32_SyncScanThreshold = 0;
       
    68 
       
    69 
    58 
    70 
    59 //-- if this parameter is not 0, "clean shutdown mask" bit in FAT16[1] will be used during volume finalisation.
    71 //-- if this parameter is not 0, "clean shutdown mask" bit in FAT16[1] will be used during volume finalisation.
    60 //-- Otherwise, FAT16[1] will not be affected during finalisation
    72 //-- Otherwise, FAT16[1] will not be affected during finalisation
    61 //-- e.g:   KDef_FAT16_UseCleanShutDownBit 0
    73 //-- e.g:   KDef_FAT16_UseCleanShutDownBit 0
    62 _LIT8(KPN_FAT16_UseCleanShutDownBit,"FAT16_UseCleanShutDownBit");  //-- parameter key name
    74 _LIT8(KPN_FAT16_UseCleanShutDownBit,"FAT16_UseCleanShutDownBit");  //-- parameter key name
   233     //-- read values from estart.txt and cache them
   245     //-- read values from estart.txt and cache them
   234     iScanDrvSkipFinalisedVolume = ReadUint(section, KPN_ScanDrvSkipFinalisedVolume, KDef_ScanDrvSkipFinalisedVolume);
   246     iScanDrvSkipFinalisedVolume = ReadUint(section, KPN_ScanDrvSkipFinalisedVolume, KDef_ScanDrvSkipFinalisedVolume);
   235     iFAT32_AsynchMount          = ReadUint(section, KPN_FAT32_AsynchMount,          KDef_FAT32_AsynchMount);
   247     iFAT32_AsynchMount          = ReadUint(section, KPN_FAT32_AsynchMount,          KDef_FAT32_AsynchMount);
   236     iFAT32_UseFSInfoOnMount     = ReadUint(section, KPN_FAT32_UseFsInfoOnMount,     KDef_FAT32_UseFsInfoOnMount);
   248     iFAT32_UseFSInfoOnMount     = ReadUint(section, KPN_FAT32_UseFsInfoOnMount,     KDef_FAT32_UseFsInfoOnMount);
   237     iFAT32_UseBitSupercache     = ReadUint(section, KPN_FAT32_UseFatBitSupercache,  KDef_FAT32_UseFatBitSupercache);
   249     iFAT32_UseBitSupercache     = ReadUint(section, KPN_FAT32_UseFatBitSupercache,  KDef_FAT32_UseFatBitSupercache);
   238     iFAT16_UseCleanShutDownBit  = ReadUint(section, KPN_FAT16_UseCleanShutDownBit, KDef_FAT16_UseCleanShutDownBit);
   250     iFAT16_UseCleanShutDownBit  = ReadUint(section, KPN_FAT16_UseCleanShutDownBit,  KDef_FAT16_UseCleanShutDownBit);
       
   251     iSyncScanThresholdMB        = ReadUint(section, KPN_FAT32_SyncScanThreshold,    KDef_FAT32_SyncScanThreshold);           
   239 
   252 
   240     // If leaf dir cache is supported, read the configuration from estart.txt file
   253     // If leaf dir cache is supported, read the configuration from estart.txt file
   241     iLeafDirCacheSize			= ReadUint(section, KPN_FAT_LeafDirCache,  			KDef_KLeafDirCacheSize);
   254     iLeafDirCacheSize			= ReadUint(section, KPN_FAT_LeafDirCache,  			KDef_KLeafDirCacheSize);
   242     ProcessDynamicDirCacheParams(section);	//-- read dynamic dir cache parameters;
   255     ProcessDynamicDirCacheParams(section);	//-- read dynamic dir cache parameters;
   243 
   256 
   358     DoDumpUintParam(KPN_ScanDrvSkipFinalisedVolume, iScanDrvSkipFinalisedVolume);
   371     DoDumpUintParam(KPN_ScanDrvSkipFinalisedVolume, iScanDrvSkipFinalisedVolume);
   359     DoDumpUintParam(KPN_FAT32_AsynchMount, iFAT32_AsynchMount);
   372     DoDumpUintParam(KPN_FAT32_AsynchMount, iFAT32_AsynchMount);
   360     DoDumpUintParam(KPN_FAT32_UseFsInfoOnMount, iFAT32_UseFSInfoOnMount);
   373     DoDumpUintParam(KPN_FAT32_UseFsInfoOnMount, iFAT32_UseFSInfoOnMount);
   361     DoDumpUintParam(KPN_FAT32_UseFatBitSupercache, iFAT32_UseBitSupercache);
   374     DoDumpUintParam(KPN_FAT32_UseFatBitSupercache, iFAT32_UseBitSupercache);
   362     DoDumpUintParam(KPN_FAT16_UseCleanShutDownBit, iFAT16_UseCleanShutDownBit);
   375     DoDumpUintParam(KPN_FAT16_UseCleanShutDownBit, iFAT16_UseCleanShutDownBit);
       
   376     DoDumpUintParam(KPN_FAT32_SyncScanThreshold, iSyncScanThresholdMB);
       
   377     
   363 
   378 
   364     DoDumpUintParam(_L8("FAT_DirCache Size, KB"), iDirCacheSizeKB);
   379     DoDumpUintParam(_L8("FAT_DirCache Size, KB"), iDirCacheSizeKB);
   365     DoDumpUintParam(_L8("FAT_DirCache MaxPage Size Log2"), iDirCacheMaxPageSizeLog2);
   380     DoDumpUintParam(_L8("FAT_DirCache MaxPage Size Log2"), iDirCacheMaxPageSizeLog2);
   366 
   381 
   367     DoDumpUintParam(_L8("FAT_16Cache RdGr Log2"), iFat16FixedCacheReadGrLog2);
   382     DoDumpUintParam(_L8("FAT_16Cache RdGr Log2"), iFat16FixedCacheReadGrLog2);
   369 
   384 
   370     DoDumpUintParam(_L8("FAT_32Cache Size, KB"),  iFat32LRUCacheSizeKB);
   385     DoDumpUintParam(_L8("FAT_32Cache Size, KB"),  iFat32LRUCacheSizeKB);
   371     DoDumpUintParam(_L8("FAT_32Cache RdGr Log2"), iFat32LRUCacheReadGrLog2);
   386     DoDumpUintParam(_L8("FAT_32Cache RdGr Log2"), iFat32LRUCacheReadGrLog2);
   372     DoDumpUintParam(_L8("FAT_32Cache WrGr Log2"), iFat32LRUCacheWriteGrLog2);
   387     DoDumpUintParam(_L8("FAT_32Cache WrGr Log2"), iFat32LRUCacheWriteGrLog2);
   373 
   388 
       
   389 
       
   390     
   374     
   391     
   375     DoDumpUintParam(KPN_FAT_LeafDirCache,       iLeafDirCacheSize);
   392     DoDumpUintParam(KPN_FAT_LeafDirCache,       iLeafDirCacheSize);
   376     DoDumpUintParam(KPN_FAT_DynamicDirCacheMin, iDynamicDirCacheSizeMinKB);
   393     DoDumpUintParam(KPN_FAT_DynamicDirCacheMin, iDynamicDirCacheSizeMinKB);
   377     DoDumpUintParam(KPN_FAT_DynamicDirCacheMax, iDynamicDirCacheSizeMaxKB);
   394     DoDumpUintParam(KPN_FAT_DynamicDirCacheMax, iDynamicDirCacheSizeMaxKB);
   378     DoDumpUintParam(_L8("DynamicDirCacheMaxPageSizeLog2"), iDynamicDirCacheMaxPageSizeLog2);
   395     DoDumpUintParam(_L8("DynamicDirCacheMaxPageSizeLog2"), iDynamicDirCacheMaxPageSizeLog2);