You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(fuse): Expose MFS as FUSE mount point (#10781)
* Add MFS command line options, extend existing mount functions for MFS, set defaults.
* Directory listing and file stat.
* Add a read-only MFS view.
* Add mkdir and interface checks.
* Add remove and rename functionality.
* Implement all required write interfaces.
* Adjust mount functions for other architechtures.
* Merge branch 'master' into feat/10710-mfs-fuse-mount
* Write a basic read/write test.
* Write more basic tests, add a mutex to the file object, fix modtime.
* Add a concurrency test, remove mutexes from file and directory structures.
* Refactor naming(mfdir -> mfsdir) and add documentation.
* Add CID retrieval through ipfs_cid xattr.
* Add docs, add xattr listing, fix bugs for mv and stat, refactor.
* Add MFS command line options, extend existing mount functions for MFS, set defaults.
* docs phrasing
* docs: Mounts.MFS
* docs: warn about lazy-loaded DAGs
* test: TEST_FUSE=1 ./t0030-mount.sh -v
---------
Co-authored-by: Guillaume Michel <guillaumemichel@users.noreply.github.com>
Co-authored-by: guillaumemichel <guillaume@michel.id>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
@@ -64,6 +65,14 @@ Users relying on the `pinned` strategy can switch to `pinned+mfs` and use MFS al
64
65
65
66
See [`Reprovider.Strategy`](https://github.com/ipfs/kubo/blob/master/docs/config.md#reproviderstrategy) for more details.
66
67
68
+
#### Experimental support for MFS as a FUSE mount point
69
+
70
+
The MFS root (filesystem behind the `ipfs files` API) is now available as a read/write FUSE mount point at `Mounts.MFS`. This filesystem is mounted in the same way as `Mounts.IPFS` and `Mounts.IPNS` when running `ipfs mount` or `ipfs daemon --mount`.
71
+
72
+
Note that the operations supported by the MFS FUSE mountpoint are limited, since MFS doesn't store file attributes.
73
+
74
+
See [`Mounts`](https://github.com/ipfs/kubo/blob/master/docs/config.md#mounts) and [`docs/fuse.md`](https://github.com/ipfs/kubo/blob/master/docs/fuse.md) for more details.
75
+
67
76
#### Grid view in WebUI
68
77
69
78
The WebUI, accessible at http://127.0.0.1:5001/webui/, now includes support for the grid view on the _Files_ screen:
**EXPERIMENTAL:** read about current limitations at [fuse.md](./fuse.md).
1372
+
> [!CAUTION]
1373
+
> **EXPERIMENTAL:** read about current limitations at [fuse.md](./fuse.md).
1372
1374
1373
1375
FUSE mount point configuration options.
1374
1376
@@ -1388,6 +1390,18 @@ Default: `/ipns`
1388
1390
1389
1391
Type: `string` (filesystem path)
1390
1392
1393
+
### `Mounts.MFS`
1394
+
1395
+
Mountpoint for Mutable File System (MFS) behind the `ipfs files` API.
1396
+
1397
+
> [!CAUTION]
1398
+
> - Write support is highly experimental and not recommended for mission-critical deployments.
1399
+
> - Avoid storing lazy-loaded datasets in MFS. Exposing a partially local, lazy-loaded DAG risks operating system search indexers crawling it, which may trigger unintended network prefetching of non-local DAG components.
1400
+
1401
+
Default: `/mfs`
1402
+
1403
+
Type: `string` (filesystem path)
1404
+
1391
1405
### `Mounts.FuseAllowOther`
1392
1406
1393
1407
Sets the 'FUSE allow other'-option on the mount point.
0 commit comments