有没有办法限制 Linux 和/或 OpenZFS 上目录的最大路径长度?

有没有办法限制 Linux 和/或 OpenZFS 上目录的最大路径长度?

我在 Linux(内核 3.10.0)上有一个 ZFS 文件系统(ZFS 版本 0.8.5),我想限制其嵌套目录的总路径长度。但我不确定是否有办法做到这一点。

我的备份软件似乎对长度限制有限制,接近 4096 个字符。为了解决这个问题,我希望设置一个选项,让创建路径长度超过 4000 个字符的目录(或文件名)的尝试失败。(如果这是每个文件系统的设置,则限制必须更低,因为我必须考虑文件系统挂载点路径的长度。)

有没有办法做到这一点,使用 Linux 内核、ZFS 模块参数或 ZFS 文件系统属性?(或者其他途径?)

请注意,Linux 的PATH_MAX值在这里不是解决方案。 PATH_MAX在我的系统上是 4096,但我可以轻松创建完整路径超出该限制的目录。例如:

mkdir -p $(python -c 'print("/".join(["n" * 255] * 512))')

这样将会在当前目录中创建一个包含 131071 个字符的目录,并且不会出现错误。

相关内容