Is there FUSE overlay filesystem, that: * resolve on it's own "too long filenames" for underlying filesystem * otherwise (for filenames fitting into limits of underlying filesystem) just proxy 1:1 ?
Example how this could work:
for each file
fabc...yxz having file name too long for given underlying filesystem, translate this into shorter name and use second file as metadata with full filename details.
Use case: Limitation of encrypted filesystems like EncFS or ecryptfs. They provide ability of storing filenames shorter than in underlaying filesystem, when encrypting filenames, resulting that you can not rsync into them contents that require longer filenames. (e.g. Ext4 has 255B, ecryptfs on ext4 allow 143B of filenames).
rsync: mkstemp "/mnt/naswaw2016/ext4/asusm2n1934/enc/home/gwpl/dane/cs/reed-solomon/.CS-05-569 - reed-solomon [vg][vgvg] - Optimizing Cauchy Reed-Solomon Codes for Faul t-Tolerant Storage Applications - by James S. Plank.pdf.CwyPQH" failed: File name too long (36)
- same idea proposed earlier: https://github.com/vgough/encfs/issues/7#issuecomment-160678136
- ecryptfs bug describing issue: https://bugs.launchpad.net/ecryptfs/+bug/344878
- SE answer about filename limits of ecryptfs : https://unix.stackexchange.com/a/32834/9689
- escryptfs bug with rsync usecase: https://bugs.launchpad.net/ubuntu/+source/rsync/+bug/592303
(P.S. And yes - I am aware of encrypting on block layer with LUKS, but encrypting above fs layer is so much better to my usecase, that I'd rather prefer stick to it)