FUSE File-Systems To Support Much Longer Filenames With Linux 6.15
([Linux Kernel] 42 Minutes Ago
Longer File Names)
- Reference: 0001538050
- News link: https://www.phoronix.com/news/Linux-6.15-FUSE
- Source link:
All of the FUSE updates have been sent in for the in-development [1]Linux 6.15 kernel for supporting file-systems in user-space.
Most notable with the FUSE changes for Linux 6.15 is enabling longer filenames. Currently there is a max of 1024 characters for filenames with FUSE but that is being increased with this next kernel version. The increase with Linux 6.15 puts it at one less than PATH_MAX, which is typically defined as 4096. Thus just one less than a 4x increase to the current filename limits for FUSE.
For those wondering if anyone actually uses longer than 1024 characters, it turns out this is a legitimate increase. [2]The patch bumping the limit notes the increase is needed for dealing with Amazon/AWS S3 storage and its keys:
"Our file system has a translation capability for S3-to-posix. The current value of 1kiB is enough to cover S3 keys, but does not allow encoding of %xx escape characters. The limit is increased to (PATH_MAX - 1), as we need 3 x 1024 and that is close to PATH_MAX (4kB) already. -1 is used as the terminating null is not included in the length calculation."
The other changes in the [3]FUSE pull request for Linux 6.15 include allowing the connection to the server to time out, returning "EPERM" if the server doesn't support creating hard links, fixing a possible race condition, and other small fixes.
[1] https://www.phoronix.com/search/Linux+6.15
[2] https://patchwork.kernel.org/project/linux-fsdevel/patch/20241216-fuse_name_max-limit-6-13-v3-2-b4b04966ecea@ddn.com/
[3] https://lore.kernel.org/lkml/CAJfpegsQDTYsEWHMK9skpNzUO=GA_DR7zGHftyO2sZH5wjaZLA@mail.gmail.com/
Most notable with the FUSE changes for Linux 6.15 is enabling longer filenames. Currently there is a max of 1024 characters for filenames with FUSE but that is being increased with this next kernel version. The increase with Linux 6.15 puts it at one less than PATH_MAX, which is typically defined as 4096. Thus just one less than a 4x increase to the current filename limits for FUSE.
For those wondering if anyone actually uses longer than 1024 characters, it turns out this is a legitimate increase. [2]The patch bumping the limit notes the increase is needed for dealing with Amazon/AWS S3 storage and its keys:
"Our file system has a translation capability for S3-to-posix. The current value of 1kiB is enough to cover S3 keys, but does not allow encoding of %xx escape characters. The limit is increased to (PATH_MAX - 1), as we need 3 x 1024 and that is close to PATH_MAX (4kB) already. -1 is used as the terminating null is not included in the length calculation."
The other changes in the [3]FUSE pull request for Linux 6.15 include allowing the connection to the server to time out, returning "EPERM" if the server doesn't support creating hard links, fixing a possible race condition, and other small fixes.
[1] https://www.phoronix.com/search/Linux+6.15
[2] https://patchwork.kernel.org/project/linux-fsdevel/patch/20241216-fuse_name_max-limit-6-13-v3-2-b4b04966ecea@ddn.com/
[3] https://lore.kernel.org/lkml/CAJfpegsQDTYsEWHMK9skpNzUO=GA_DR7zGHftyO2sZH5wjaZLA@mail.gmail.com/
phoronix