Example FSM Configuration File
On Linux, the StorNext configuration file uses an XML format (.cfgx). On Windows, the configuration file uses a text format (.cfg). However, the values contained in both files are similar.
You can locate an example StorNext configuration file in the following directory:
- Linux — /usr/cvfs/examples/example.cfgx
- Windows — C:\Program Files\Stornext\config\example.cfg
Note: If you installed StorNext in a location other than the default installation directory, the example configuration file is located in C:\<install_directory>\config\example.cfg

Below are the contents of the StorNext example configuration file for Linux (example.cfgx):
<?xml version="1.0"?>
<configDoc xmlns="https://www.quantum.com/snfs" version="1.0">
<config configVersion="0" name="example" fsBlockSize="4096" journalSize="268435456">
<globals>
<affinityPreference>false</affinityPreference>
<allocationStrategy>round</allocationStrategy>
<haFsType>HaUnmonitored</haFsType>
<bufferCacheSize>268435456</bufferCacheSize>
<cvRootDir>/</cvRootDir>
<storageManager>false</storageManager>
<debug>00000000</debug>
<dirWarp>true</dirWarp>
<extentCountThreshold>49152</extentCountThreshold>
<enableSpotlight>false</enableSpotlight>
<enforceAcls>false</enforceAcls>
<fileLocks>false</fileLocks>
<fileLockResyncTimeOut>20</fileLockResyncTimeOut>
<forcePerfectFit>false</forcePerfectFit>
<fsCapacityThreshold>0</fsCapacityThreshold>
<globalSuperUser>true</globalSuperUser>
<inodeCacheSize>131072</inodeCacheSize>
<inodeExpandMin>0</inodeExpandMin>
<inodeExpandInc>0</inodeExpandInc>
<inodeExpandMax>0</inodeExpandMax>
<inodeDeleteMax>0</inodeDeleteMax>
<inodeStripeWidth>0</inodeStripeWidth>
<maintenanceMode>false</maintenanceMode>
<maxLogs>4</maxLogs>
<namedStreams>false</namedStreams>
<remoteNotification>false</remoteNotification>
<renameTracking>false</renameTracking>
<reservedSpace>true</reservedSpace>
<fsmRealTime>false</fsmRealTime>
<fsmMemLocked>false</fsmMemLocked>
<opHangLimitSecs>180</opHangLimitSecs>
<perfectFitSize>131072</perfectFitSize>
<quotas>false</quotas>
<quotaHistoryDays>7</quotaHistoryDays>
<restoreJournal>false</restoreJournal>
<restoreJournalDir></restoreJournalDir>
<restoreJournalMaxHours>0</restoreJournalMaxHours>
<restoreJournalMaxMb>0</restoreJournalMaxMb>
<stripeAlignSize>-1</stripeAlignSize>
<trimOnClose>0</trimOnClose>
<useL2BufferCache>true</useL2BufferCache>
<unixDirectoryCreationModeOnWindows>755</unixDirectoryCreationModeOnWindows>
<unixIdFabricationOnWindows>false</unixIdFabricationOnWindows>
<unixFileCreationModeOnWindows>644</unixFileCreationModeOnWindows>
<unixNobodyUidOnWindows>60001</unixNobodyUidOnWindows>
<unixNobodyGidOnWindows>60001</unixNobodyGidOnWindows>
<windowsSecurity>true</windowsSecurity>
<globalShareMode>false</globalShareMode>
<useActiveDirectorySFU>true</useActiveDirectorySFU>
<eventFiles>true</eventFiles>
<eventFileDir></eventFileDir>
<allocSessionReservationSize>0</allocSessionReservationSize>
</globals>
<diskTypes>
<diskType typeName="MetaDrive" sectors="99999999" sectorSize="512"/>
<diskType typeName="JournalDrive" sectors="99999999" sectorSize="512"/>
<diskType typeName="VideoDrive" sectors="99999999" sectorSize="512"/>
<diskType typeName="AudioDrive" sectors="99999999" sectorSize="512"/>
<diskType typeName="DataDrive" sectors="99999999" sectorSize="512"/>
</diskTypes>
<autoAffinities/>
<stripeGroups>
<stripeGroup index="0" name="MetaFiles" status="up" stripeBreadth="262144" read="true" write="true" metadata="true" journal="false" userdata="false" realTimeIOs="0" realTimeIOsReserve="0" realTimeMB="0" realTimeMBReserve="0" realTimeTokenTimeout="0" multipathMethod="rotate">
<disk index="0" diskLabel="CvfsDisk0" diskType="MetaDrive" ordinal="0"/>
</stripeGroup>
<stripeGroup index="1" name="JournFiles" status="up" stripeBreadth="262144" read="true" write="true" metadata="false" journal="true" userdata="false" realTimeIOs="0" realTimeIOsReserve="0" realTimeMB="0" realTimeMBReserve="0" realTimeTokenTimeout="0" multipathMethod="rotate">
<disk index="0" diskLabel="CvfsDisk1" diskType="JournalDrive" ordinal="1"/>
</stripeGroup>
<stripeGroup index="2" name="VideoFiles" status="up" stripeBreadth="4194304" read="true" write="true" metadata="false" journal="false" userdata="true" realTimeIOs="0" realTimeIOsReserve="0" realTimeMB="0" realTimeMBReserve="0" realTimeTokenTimeout="0" multipathMethod="rotate">
<affinities exclusive="true">
<affinity>Video</affinity>
</affinities>
<disk index="0" diskLabel="CvfsDisk2" diskType="VideoDrive" ordinal="2"/>
<disk index="1" diskLabel="CvfsDisk3" diskType="VideoDrive" ordinal="3"/>
<disk index="2" diskLabel="CvfsDisk4" diskType="VideoDrive" ordinal="4"/>
<disk index="3" diskLabel="CvfsDisk5" diskType="VideoDrive" ordinal="5"/>
<disk index="4" diskLabel="CvfsDisk6" diskType="VideoDrive" ordinal="6"/>
<disk index="5" diskLabel="CvfsDisk7" diskType="VideoDrive" ordinal="7"/>
<disk index="6" diskLabel="CvfsDisk8" diskType="VideoDrive" ordinal="8"/>
<disk index="7" diskLabel="CvfsDisk9" diskType="VideoDrive" ordinal="9"/>
</stripeGroup>
<stripeGroup index="3" name="AudioFiles" status="up" stripeBreadth="1048576" read="true" write="true" metadata="false" journal="false" userdata="true" realTimeIOs="0" realTimeIOsReserve="0" realTimeMB="0" realTimeMBReserve="0" realTimeTokenTimeout="0" multipathMethod="rotate">
<affinities exclusive="true">
<affinity>Audio</affinity>
</affinities>
<disk index="0" diskLabel="CvfsDisk10" diskType="AudioDrive" ordinal="10"/>
<disk index="1" diskLabel="CvfsDisk11" diskType="AudioDrive" ordinal="11"/>
<disk index="2" diskLabel="CvfsDisk12" diskType="AudioDrive" ordinal="12"/>
<disk index="3" diskLabel="CvfsDisk13" diskType="AudioDrive" ordinal="13"/>
</stripeGroup>
<stripeGroup index="4" name="RegularFiles" status="up" stripeBreadth="262144" read="true" write="true" metadata="false" journal="false" userdata="true" realTimeIOs="0" realTimeIOsReserve="0" realTimeMB="0" realTimeMBReserve="0" realTimeTokenTimeout="0" multipathMethod="rotate">
<disk index="0" diskLabel="CvfsDisk14" diskType="DataDrive" ordinal="14"/>
<disk index="1" diskLabel="CvfsDisk15" diskType="DataDrive" ordinal="15"/>
<disk index="2" diskLabel="CvfsDisk16" diskType="DataDrive" ordinal="16"/>
<disk index="3" diskLabel="CvfsDisk17" diskType="DataDrive" ordinal="17"/>
</stripeGroup>
</stripeGroups>
</config>
</configDoc>

Some Microsoft applications end up making temporary copies of operational files while they are being updated. For example while a file myDocument.doc is being updated with Word it may be renamed to a random sequence of characters like ABC123DYXab. When Word completes the updates it will save the new myDocument.doc file and remove ABC123DYXab. When Storage Manager recognizes that file ABC123DYXab has been removed it makes it recoverable but with the current temporary name. This makes tracking old instances of myDocument.doc difficult if not impossible to accomplish. To get around this scenario the renameTracking feature is provided. You can enable this feature on in the file system (see the snfs_config(5) man page) and makes tracking of old instances of these temporary files possible.
If you enable the renameTracking feature, as a file is renamed it is made recoverable at that time. For example, in the scenario described above as Word renames myDocument.doc to ABC123DYXab, Storage Manager makes myDocument.doc recoverable with its original name before the rename proceeds; that renamed instance becomes inactive. Then after Word is done, the new myDocument.doc becomes the new instance of the file and the previous instance becomes available for recovery using fsrecover(1) with the correct name.
Note: The renameTracking functionality is NOT a general purpose feature for keeping the Storage Manager database up to date with rename activity. If you enable the feature, then the files that are being renamed are re-stored. This is not, in general, a desirable behavior except in the specific case described.

Below are the contents of the StorNext example configuration file for Windows (example.cfg):
# Globals
AffinityPreference no
AllocationStrategy Round
HaFsType HaUnmonitored
FileLocks No
BrlResyncTimeout 20
BufferCacheSize 256M
CvRootDir /
DataMigration No
Debug 0x0
DirWarp Yes
ExtentCountThreshold 48K
EnableSpotlight No
ForcePerfectFit No
FsBlockSize 4K
GlobalSuperUser Yes
InodeCacheSize 128K
InodeExpandMin 0
InodeExpandInc 0
InodeExpandMax 0
InodeDeleteMax 0
InodeStripeWidth 0
JournalSize 64M
MaintenanceMode No
MaxLogs 4
NamedStreams No
PerfectFitSize 128K
RemoteNotification No
RenameTracking No
ReservedSpace Yes
FSMRealtime No
FSMMemlock No
OpHangLimitSecs 180
Quotas No
QuotaHistoryDays 7
RestoreJournal No
RestoreJournalMaxHours 0
RestoreJournalMaxMB 0
StripeAlignSize -1
TrimOnClose 0
UseL2BufferCache Yes
UnixDirectoryCreationModeOnWindows 0755
UnixIdFabricationOnWindows No
UnixFileCreationModeOnWindows 0644
UnixNobodyUidOnWindows 60001
UnixNobodyGidOnWindows 60001
WindowsSecurity Yes
GlobalShareMode No
UseActiveDirectorySFU Yes
EventFiles Yes
AllocSessionReservationSize 0m
# Disk Types
[DiskType MetaDrive]
Sectors 99999999
SectorSize 512
[DiskType JournalDrive]
Sectors 99999999
SectorSize 512
[DiskType VideoDrive]
Sectors 99999999
SectorSize 512
[DiskType AudioDrive]
Sectors 99999999
SectorSize 512
[DiskType DataDrive]
Sectors 99999999
SectorSize 512
# Disks
[Disk CvfsDisk0]
Type MetaDrive
Status UP
[Disk CvfsDisk1]
Type JournalDrive
Status UP
[Disk CvfsDisk2]
Type VideoDrive
Status UP
[Disk CvfsDisk3]
Type VideoDrive
Status UP
[Disk CvfsDisk4]
Type VideoDrive
Status UP
[Disk CvfsDisk5]
Type VideoDrive
Status UP
[Disk CvfsDisk6]
Type VideoDrive
Status UP
[Disk CvfsDisk7]
Type VideoDrive
Status UP
[Disk CvfsDisk8]
Type VideoDrive
Status UP
[Disk CvfsDisk9]
Type VideoDrive
Status UP
[Disk CvfsDisk10]
Type AudioDrive
Status UP
[Disk CvfsDisk11]
Type AudioDrive
Status UP
[Disk CvfsDisk12]
Type AudioDrive
Status UP
[Disk CvfsDisk13]
Type AudioDrive
Status UP
[Disk CvfsDisk14]
Type DataDrive
Status UP
[Disk CvfsDisk15]
Type DataDrive
Status UP
[Disk CvfsDisk16]
Type DataDrive
Status UP
[Disk CvfsDisk17]
Type DataDrive
Status UP
# Stripe Groups
[StripeGroup MetaFiles]
Status Up
StripeBreadth 256K
Metadata Yes
Journal No
Exclusive Yes
Read Enabled
Write Enabled
Rtmb 0
Rtios 0
RtmbReserve 0
RtiosReserve 0
RtTokenTimeout 0
MultiPathMethod Rotate
Node CvfsDisk0 0
[StripeGroup JournFiles]
Status Up
StripeBreadth 256K
Metadata No
Journal Yes
Exclusive Yes
Read Enabled
Write Enabled
Rtmb 0
Rtios 0
RtmbReserve 0
RtiosReserve 0
RtTokenTimeout 0
MultiPathMethod Rotate
Node CvfsDisk1 0
[StripeGroup VideoFiles]
Status Up
StripeBreadth 4M
Metadata No
Journal No
Exclusive No
Read Enabled
Write Enabled
Rtmb 0
Rtios 0
RtmbReserve 0
RtiosReserve 0
RtTokenTimeout 0
MultiPathMethod Rotate
Node CvfsDisk2 0
Node CvfsDisk3 1
Node CvfsDisk4 2
Node CvfsDisk5 3
Node CvfsDisk6 4
Node CvfsDisk7 5
Node CvfsDisk8 6
Node CvfsDisk9 7
Affinity Video
[StripeGroup AudioFiles]
Status Up
StripeBreadth 1M
Metadata No
Journal No
Exclusive No
Read Enabled
Write Enabled
Rtmb 0
Rtios 0
RtmbReserve 0
RtiosReserve 0
RtTokenTimeout 0
MultiPathMethod Rotate
Node CvfsDisk10 0
Node CvfsDisk11 1
Node CvfsDisk12 2
Node CvfsDisk13 3
Affinity Audio
[StripeGroup RegularFiles]
Status Up
StripeBreadth 256K
Metadata No
Journal No
Exclusive No
Read Enabled
Write Enabled
Rtmb 0
Rtios 0
RtmbReserve 0
RtiosReserve 0
RtTokenTimeout 0
MultiPathMethod Rotate
Node CvfsDisk14 0
Node CvfsDisk15 1
Node CvfsDisk16 2
Node CvfsDisk17 3

Some Microsoft applications end up making temporary copies of operational files while they are being updated. For example while a file myDocument.doc is being updated with Word it may be renamed to a random sequence of characters like ABC123DYXab. When Word completes the updates it will save the new myDocument.doc file and remove ABC123DYXab. When Storage Manager recognizes that file ABC123DYXab has been removed it makes it recoverable but with the current temporary name. This makes tracking old instances of myDocument.doc difficult if not impossible to accomplish. To get around this scenario the renameTracking feature is provided. You can enable this feature on in the file system (see the snfs_config(5) man page) and makes tracking of old instances of these temporary files possible.
If you enable the renameTracking feature, as a file is renamed it is made recoverable at that time. For example, in the scenario described above as Word renames myDocument.doc to ABC123DYXab, Storage Manager makes myDocument.doc recoverable with its original name before the rename proceeds; that renamed instance becomes inactive. Then after Word is done, the new myDocument.doc becomes the new instance of the file and the previous instance becomes available for recovery using fsrecover(1) with the correct name.
Note: The renameTracking functionality is NOT a general purpose feature for keeping the Storage Manager database up to date with rename activity. If you enable the feature, then the files that are being renamed are re-stored. This is not, in general, a desirable behavior except in the specific case described.