As mentioned by Flox, share sizes are not enforced due to the instability of BTRFS quotas at the moment.
In any case, if the share sizes were enforced later, BTRFS quotas can be dynamically adjusted without even unmounting the subvolumes, so there’s not too much to worry about.
Regarding ‘shares behave as directories’, when you create a share, Rockstor will create two directories:
The former is the literal location of the BTRFS subvolume, the second is a convenient mountpoint.
For example, here’s the output of a couple of entries from my mount table:
[ root@rockout (fail 0s) /mnt2/tempraid ]# mount|grep "cfg\|tempraid"
/dev/sdd on /mnt2/tempraid type btrfs (rw,relatime,space_cache,subvolid=5,subvol=/)
/dev/sdd on /mnt2/cfgWatcher type btrfs (rw,relatime,space_cache,subvolid=9188,subvol=/cfgWatcher)
/dev/sdd on /mnt2/cfgMariaDB type btrfs (rw,relatime,space_cache,subvolid=9750,subvol=/cfgMariaDB)
/dev/sdd on /mnt2/cfgNZBGet type btrfs (rw,relatime,space_cache,subvolid=304,subvol=/cfgNZBGet)
/dev/sdd on /mnt2/cfgSonarr type btrfs (rw,relatime,space_cache,subvolid=307,subvol=/cfgSonarr)
/dev/sdd on /mnt2/cfgPiHole type btrfs (rw,relatime,space_cache,subvolid=419,subvol=/cfgPiHole)
/dev/sdd on /mnt2/cfgPlex type btrfs (rw,relatime,space_cache,subvolid=306,subvol=/cfgPlex)
And the directory matching directory list in /mnt2:
[ root@rockout (pass 0s) /mnt2/tempraid ]# ls /mnt2|grep "temp\|cfg"
And the matching directory listing of
[ root@rockout (pass 0s) /mnt2/tempraid ]# ls /mnt2/tempraid/|grep cfg
You do not need to create these directories, Rockstor handles this.
All shares created under Rockstor are top level subvolumes within the BTRFS pool.
Regarding creating directories within the
plex-data directory, Rockstor has no concept (at this point) of nested subvolumes, so this cannot be done from share management.
Your options here are
- create the directory manually as a standard directory (this can be created inside the pool directory, or the mounted subvolume, they are ostensibly the same place on the disk!)
- Create a subvolume manually inside the existing plex-data subvolume - I recommend against this, and have little idea of how Rockstor will respond
- Create another BTRFS share, and sym/hard link it inside your existing plex-data directory.
And as mentioned by @Flox, for Rockons that support the feature, you can add export additional volumes to the container from any share you’ve created on your system.
For example, rather than having a directory inside your
plex-data share, you could create
plex-data2 and export this as an additional volume to Plex. This is how I manage my mulitiple media shares (TV, Movies, Music)