Menu="Share:1" Title="Share Settings" --- "", "name" => "", "comment" => "", "allocator" => "highwater", "floor" => "", "splitLevel" => "", "include" => "", "exclude" => "", "useCache" => "no", "cow" => "auto"]; } elseif (array_key_exists($name, $shares)) { /* edit existing share */ $share = $shares[$name]; } else { /* handle share deleted case */ echo "

Share ".htmlspecialchars($name)." has been deleted.

"; return; } /* check for empty share */ function shareEmpty($name) { return (($files = @scandir('/mnt/user/'.$name)) && (count($files) <= 2)); } function globalInclude($name) { global $var; return substr($name,0,4)=='disk' && (!$var['shareUserInclude'] || strpos("{$var['shareUserInclude']},","$name,")!==false); } // global shares include/exclude $disks = array_filter($disks,'my_disks'); $myDisks = array_filter(array_diff(array_keys($disks), explode(',',$var['shareUserExclude'])), 'globalInclude'); ?> > A *Share*, also called a *User Share*, is simply the name of a top-level directory that exists on one or more of your > storage devices (array and cache). Each share can be exported for network access. When browsing a share, we return the > composite view of all files and subdirectories for which that top-level directory exists on each storage device. > > *Read settings from* is used to preset the settings of the new share with the settings of an existing share. > > Select the desired share name and press **Read** to copy the settings from the selected source. > > *Write settings to* is used to copy the settings of the current share to one or more other existing shares. > > Select the desired destinations and press **Write** to copy the settings to the selected shares.
Read settings from
Write settings to
":">"?> Share name: : > The share name can be up to 40 characters, and is case-sensitive with these restrictions: > > * cannot contain a double-quote character (") > * cannot be one of the reserved share names: flash, cache, cach2, .., disk1, disk2, .. > > We highly recommend to make your life easier and avoid special characters. Comments: : > Anything you like, up to 256 characters. Allocation method: : > This setting determines how unRAID OS will choose which disk to use when creating a new file or directory: > > **High-water** > Choose the lowest numbered disk with free space still above the current *high water mark*. The > *high water mark* is initialized with the size of the largest data disk divided by 2. If no disk > has free space above the current *high water mark*, divide the *high water mark* by 2 and choose again. > > The goal of **High-water** is to write as much data as possible to each disk (in order to minimize > how often disks need to be spun up), while at the same time, try to keep the same amount of free space on > each disk (in order to distribute data evenly across the array). > > **Fill-up** > Choose the lowest numbered disk that still has free space above the current **Minimum free space** > setting. > > **Most-free** > Choose the disk that currently has the most free space. Minimum free space: : > The *minimum free space* available to allow writing to any disk belonging to the share.
> > Choose a value which is equal or greater than the biggest single file size you intend to copy to the share. > Include units KB, MB, GB and TB as appropriate, e.g. 10MB. Split level: : > Determines whether a directory is allowed to expand onto multiple disks. > **Automatically split any directory as required** > When a new file or subdirectory needs to be created in a share, unRAID OS first chooses which disk > it should be created on, according to the configured *Allocation method*. If the parent directory containing > the new file or or subdirectory does not exist on this disk, then unRAID OS will first create all necessary > parent directories, and then create the new file or subdirectory. > > **Automatically split only the top level directory as required** > When a new file or subdirectory is being created in the first level subdirectory of a share, if that first > level subdirectory does not exist on the disk being written, then the subdirectory will be created first. > If a new file or subdirectory is being created in the second or lower level subdirectory of a share, the new > file or subdirectory is created on the same disk as the new file or subdirectorys parent directory. > > **Automatically split only the top "N" level directories as required** > Similar to previous: when a new file or subdirectory is being created, if the parent directory is at level "N", > and does not exist on the chosen disk, unRAID OS will first create all necessary parent directories. If the > parent directory of the new file or subdirectory is beyond level "N", then the new file or subdirectory is > created on the same disk where the parent directory exists. > > **Manual: do not automatically split directories** > When a new file or subdirectory needs to be created in a share, unRAID OS will only consider disks where the > parent directory already exists. Included disk(s): : > Specify the disks which can be used by the share. By default all disks are included; that is, if specific > disks are not selected here, then the share may expand into *all* array disks. Excluded disk(s): : > Specify the disks which can *not* be used by the share. By default no disks are excluded. Use cache disk: : > Specify whether new files and directories written on the share can be written onto the Cache disk/pool > if present. > > **No** prohibits new files and subdirectories from being written onto the Cache disk/pool. > > **Yes** indicates that all new files and subdirectories should be written to the Cache disk/pool, provided > enough free space exists on the Cache disk/pool. If there is insufficient space on the Cache disk/pool, then > new files and directories are created on the array. When the *mover* is invoked, files and subdirectories are > transferred off the Cache disk/pool and onto the array. > > **Only** indicates that all new files and subdirectories must be writen to the Cache disk/pool. If there > is insufficient free space on the Cache disk/pool, *create* operations will fail with *out of space* status. > > **Prefer** indicates that all new files and subdirectories should be written to the Cache disk/pool, provided > enough free space exists on the Cache disk/pool. If there is insufficient space on the Cache disk/pool, then > new files and directories are created on the array. When the *mover* is invoked, files and subdirectories are > transferred off the array and onto Cache disk/pool. Enable Copy-on-write: : Set when adding new share only. > Set to **No** to cause the *btrfs* NOCOW (No Copy-on-Write) attribute to be set on the share directory > when created on a device formatted with *btrfs* file system. Once set, newly created files and > subdirectories on the device will inherit the NOCOW attribute. We recommend this setting for shares > used to store vdisk images, including the Docker loopback image file. This setting has no effect > on non-btrfs file systems. > > Set to **Auto** for normal operation, meaning COW **will** be in effect on devices formatted with *btrfs*.   : Share status: : Share is empty > Share does *not* contain any data and may be deleted if not needed any longer. Delete : Share status: : Share contains data > Share can *not* be deleted as long as it contains data. Be aware that some data can be hidden. See also [SMB Settings](/Settings/SMB) -> Hide "dot" files.   :