Section 1.1 of the FreeNAS guide mentions four filename/path length limits for the current version. The first is accompanied by an example, the second is clear from description, but the third and fourth aren't very helpful:
It would help me a lot to have an example. Suppose we have a setup like this:
which to me are not exactly clear.Mounted Filesystem Paths - 88 bytes
Mounted filesystem path length (MNAMELEN). Longer paths can prevent a device from being mounted.
Device Filesystem Paths - 63 bytes
devfs(8) device path lengths (SPECNAMELEN). Longer paths can prevent a device from being created.
It would help me a lot to have an example. Suppose we have a setup like this:
- Nested dataset:
tank/dataset1/dataset2
- Snapshot name:
tank/dataset1/dataset2@manualsnap_20180112-180000
- Top level dataset mountpoint:
/mnt/dataset1
as usual.
(The paths and filenames are just placeholders for the example and could be longer or shorter)
- If I want to avoid issues with
ls /mnt/tank/dataset1/dataset2/.zfs/snapshot/manualsnap_20180112-180000/
and its subdirs, and I want to be able to directlyls
into its subdirs and access files within them, which part of that path mustn't hit the 63/88 char limits?
- If the path above is too long and for whatever reason it's inconvenient to rename anything, I can manually mount the snapshot instead (
mount -f zfs tank/dataset1/dataset2@manualsnap_20180112-180000 /mnt/TEMP_MOUNT_DIR
). If it successfully mounts, then only the 255/1024 normal limits affect my use of it. But which parts of the command must be within 63/88 chars for mount to succeed? Do the 63/88 character limits apply to the ZFS dataset's path (the first path arg), or the mountpoint's path (the second path arg), or what limits apply to them?