mxmlnkn / ratarmount

Access large archives as a filesystem efficiently, e.g., TAR, RAR, ZIP, GZ, BZ2, XZ, ZSTD archives
MIT License
846 stars 37 forks source link

Running on Lustre filesystem #143

Closed xiaofanjin closed 1 month ago

xiaofanjin commented 1 month ago

Hi I'm trying to use ratarmount to mount a .tar file on a Lustre file system, but after successfully building the .tar.index.sqlite file, I run into this error:

fusermount: mounting over filesystem type 0x0bd00bd0 is forbidden
Traceback (most recent call last):
  File "/home/xiaofanj/.local/lib/python3.11/site-packages/ratarmount.py", line 1803, in cli
    fuse.FUSE(
  File "/home/xiaofanj/.local/lib/python3.11/site-packages/fuse.py", line 711, in __init__
    raise RuntimeError(err)
RuntimeError: 1

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/xiaofanj/.local/bin/ratarmount", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/home/xiaofanj/.local/lib/python3.11/site-packages/ratarmount.py", line 1811, in cli
    raise RatarmountError(
ratarmountcore.utils.RatarmountError: FUSE mountpoint could not be created. See previous output for more information.

Digging a bit further, it seems this incompatibility may be buried deeper in a dependency like fusepy / libfuse, but I am not familiar with these tools so am not sure whether a fix would feasible - any insights appreciated thanks!

mxmlnkn commented 1 month ago

This is a common problem with FUSE itself if I recall correctly. You are probably trying to mount into a folder, which itself would lie inside the Lustre filesystem. This is forbidden for some reason, probably having to do with stacking multiple filesystems. Try mounting into /tmp/<your mount point> instead, e.g., ratarmount archive.tar /tmp/mounted-archive; ls -la /tmp/mounted-archive.

xiaofanjin commented 1 month ago

Thanks, worked!