You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
1.3 KiB

  1. # xattr
  2. * `xattr=passthrough`: Passes through all requests to underlying file.
  3. * `xattr=noattr`: mergerfs receives the request but returns `NOATTR`.
  4. * `xattr=nosys`: Tells the kernel to reject all `xattr` requests.
  5. * Defaults to `passthrough`.
  6. Runtime extended attribute support can be managed via the `xattr`
  7. option. By default it will passthrough any xattr calls. Given xattr
  8. support is rarely used and can have significant performance
  9. implications mergerfs allows it to be disabled at runtime. The
  10. performance problems mostly comes when file caching is enabled. The
  11. kernel will send a `getxattr` for `security.capability` *before every
  12. single write*. It doesn't cache the responses to any `getxattr`. This
  13. might be addressed in the future but for now mergerfs can really only
  14. offer the following workarounds.
  15. `noattr` will cause mergerfs to short circuit all xattr calls and
  16. return ENOATTR where appropriate. mergerfs still gets all the requests
  17. but they will not be forwarded on to the underlying filesystems. The
  18. runtime control will still function in this mode.
  19. `nosys` will cause mergerfs to return `ENOSYS` for any xattr call. The
  20. difference with `noattr` is that the kernel will cache this fact and
  21. itself short circuit future calls. This is more efficient than
  22. `noattr` but will cause mergerfs' runtime control via the hidden file
  23. to stop working.