ZFS-FUSE(8)
π ZFS-FUSE β¨
okay bestie, gather round, because this is zfs-fuse(8) and it's literally the whole ZFS filesystem daemon situation. sit down, hydrate, and let's get into it π«Ά
πΈ NAME πΈ
zfs-fuse β the ZFS filesystem daemon. that's it, that's the name, iconic π
β¨ SYNOPSIS β¨
zfs-fuse [--pidfile filename] [--no-daemon] [--no-kstat-mount]
[--disable-block-cache] [--disable-page-cache]
[--fuse-attr-timeout SECONDS] [--fuse-entry-timeout SECONDS]
[--log-uberblocks] [--max-arc-size MB]
[--fuse-mount-options OPT,OPT,OPT...] [--min-uberblock-txg MIN]
[--stack-size=size] [--enable-xattr] [--help]
π¦ DESCRIPTION π¦
so this manual page is the quick lil' rundown of the zfs-fuse command, no cap.
zfs-fuse is a daemon that gives you ZFS filesystem support, and it does it via fuse. and like, normally? you don't even run this yourself β it gets invoked from the system boot scripts, like a responsible main character doing its job at 3am so you don't have to π
π OPTIONS π
okay so this program follows the usual GNU command line syntax β long options start with two dashes (-). here's the summary of the options, bestie. for a complete description, go see the Info files (iykyk).
-h,--helpβ shows you a lil' summary of the options π-pfilename,--pidfilefilename β writes the daemon's PID to filename after it daemonizes. gets ignored if you passed--no-daemon, so don't come crying. and filename should be a fully-qualified path, periodt.-n,--no-daemonβ stays in the foreground, does not daemonize. main character stays on screen β¨--no-kstat-mountβ does not mount kstats in/zfs-kstat--disable-block-cacheβ enables direct I/O for disk operations. this completely disables caching of reads and writes in the kernel block cache. also? it breaksmmap()in ZFS datasets too. so like, heads up π--disable-page-cacheβ disables the page cache for files living inside ZFS filesystems. not recommended bestie, it slows down I/O operations considerably π-aSECONDS,--fuse-attr-timeoutSECONDS β sets the timeout for caching FUSE attributes in the kernel. defaults to0.0. higher values give you a 40% performance boost π₯-eSECONDS,--fuse-entry-timeoutSECONDS β sets the timeout for caching FUSE entries in the kernel. defaults to0.0. higher values give a 10000% performance boost but cause file permission checking security issues π so, y'know, tradeoffs--log-uberblocksβ logs uberblocks of any mounted filesystem to syslog-mMB,--max-arc-sizeMB β forces the maximum ARC size (in megabytes). range: 16 to 16384.-oOPT...,--fuse-mount-optionsOPT,OPT,OPT... β sets FUSE mount options for all filesystems. format: a comma-separated string of characters.-uMIN,--min-uberblock-txgMIN β skips uberblocks with a TXG < MIN when mounting any fs-vMB,--vdev-cache-sizeMB β adjusts the size of the vdev cache. default:10--zfs-prefetch-disableβ disables the high level prefetch cache in zfs. this thing can eat up to 150 Mb of ram, maybe more π--stack-size=size β limits the stack size of threads (in kb). default: no limit (8 Mb for linux)-x,--enable-xattrβ enables support for extended attributes. not generally recommended because it currently has a significant performance penalty for many small IOPS π-h,--helpβ shows this usage summary. (yes, it's listed again. the help flag said "let me be in this list twice", and honestly? slay π)
π REMARKS ON PRECEDENCE π
not me having to explain this, but: the parameters you pass on the command line take precedence over the ones supplied through /etc/zfs/zfsrc. so the command line is the loudest voice in the room, fr fr.
π BUGS/CAVEATS π
- the path to the configuration file (
/etc/zfs/zfsrc) cannot at this time be configured. yeah. that's the vibe. - most existing packages suggest that settings can be set at the top of their init script. but these get frequently overridden by a (distribution specific)
/etc/default/zfs-fusefile, if it exists. so if you want your option changes to actually take effect, be sure to look at these places, bestie. don't be out here editing one file and wondering why nothing changed π /etc/zfs/zfsrcis going to be the recommended approach in the future. so, packagers, please refrain from passing commandline parameters within the initscript (except for--pid-file). we're all moving on to better things β¨
β SEE ALSO β
zfs (8), zpool (8), zdb (8), zstreamdump (8), /etc/zfs/zfsrc
π«Ά AUTHOR π«Ά
this manual page was written by Bryan Donlan bdonlan@gmail.com for the Debian(TM) system (but may be used by others). permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation, or the Common Development and Distribution License.
revised by Seth Heeren zfs-fuse@sehe.nl
on Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL. the text of the Common Development and Distribution Licence may be found at /usr/share/doc/zfs-fuse/copyright
π COPYRIGHT π
Copyright Β© 2010 Bryan Donlan
and that's the whole page, bestie π
source: [FIXME: source], dated 2010-06-09 β yeah it's giving vintage, but the knowledge is timeless. go forth and mount responsibly πΈβ¨
π¦ where this page comes from
- debian bookworm: zfs-fuse 0.7.0-25+b1
- debian trixie: zfs-fuse 0.7.0-30+b1
- ubuntu jammy: zfs-fuse 0.7.0-22ubuntu1
- ubuntu noble: zfs-fuse 0.7.0-27build2
- ubuntu questing: zfs-fuse 0.7.0-30
- ubuntu resolute: zfs-fuse 0.7.0-33
- ubuntu stonking: zfs-fuse 0.7.0-33build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms