GitHub    Download    Forum
Overview
Tutorial
C++ API
C# API
DTDL
DADL
Setup
DataFS SDK setup
DataFS setup
DataFS Tools
DataFS setup parameters
stcStorageDiskSettings
stcStorageDiskOpen
stcStorageDiskCreate
stcDomainStorage
stcDomainSettings
stcStorageSettings

stcStorageDiskSettings structure

Disk settings

Syntax

struct stcStorageDiskSettings
{
UINT32 ulSize;
 
UINT64 ullCacheSizeMin;
UINT64 ullCacheSizeMax;
UINT64 ullCacheSizeDelta;
UINT32 ulCacheHalfLife;
 
UINT16 usFragmentingStep;
UINT16 usFragmentingMaxSteps;
UINT16 usFragmentingLength;
};

Member

ulSize
Type: UINT32
The size (sizeof(stcStorageDiskSettings)) of the structure.
ullCacheSizeMin
Type: UINT64
Minimum size (in bytes) of the cache that should be used for read / write operations.
Default value: 8388608 (8 MB)
ullCacheSizeMax
Type: UINT64
Maximum size (in bytes) of the cache that should be used for read / write operations.
Default value: 268435456 (256 MB)
ullCacheSizeDelta
Type: UINT64
Delta size (in bytes) that the cache is reduced by after not being used for more than the ulCacheHalfLife time.
Default value: ullCacheSizeMax / 32
ulCacheHalfLife
Type: UINT32
Timeout (in milliseconds) after which the cache is temporarily reduced by ullCacheSizeDelta.
usFragmentingStep
Type: UINT16
Values used to find the minimum fragment size that the system uses during data allocation.
See “Remarks” for more information.
Default value: 2
usFragmentingMaxSteps
Type: UINT16
Values used to find the minimum fragment size that the system uses during data allocation.
The minimum fragment size that the system uses during data allocation can be greater than the usFragmentingLength, but is never greater than the usFragmentingLength << usFragmentingMaxSteps.
See “Remarks” for more information.
Default value: 9
usFragmentingLength
Type: UINT16
Absolute minimum fragment size used during data allocation (except for allocations that are less than this size).
Default value: 8

Remarks

The system calculates the minimum fragment size used during an allocation using this formula.
int x = 0;

while((x < usFragmentingMaxSteps)
   && (AllocationLength > (usFragmentingLength << (x * usFragmentingStep))))
	++x;

MinFragmentLength = usFragmentingLength << x;
© 2022 Mobiland AG