Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

swiftfuse(1)

NAME

swiftfuse - mount an OpenStack Swift account as a FUSE filesystem

SYNOPSIS

swiftfuse [OPTIONS]
swiftfuse mount [MOUNTPOINT] [OPTIONS]
swiftfuse umount [MOUNTPOINT] [--lazy]
swiftfuse status [MOUNTPOINT]
swiftfuse version
swiftfuse doctor [MOUNTPOINT]
swiftfuse help [COMMAND]

--version / -V prints the crate version. swiftfuse version also lists features.

DESCRIPTION

Native Swift v1 API (TempAuth or Keystone). Chunk mode stores metadata in etcd or SQLite and data as immutable blocks in Swift. This is not s3fs.

Without a subcommand, the binary mounts using the top-level flags. That is the systemd path:

swiftfuse -c /etc/swiftfuse-etcd.toml --foreground

scripts/mount.swiftfuse (fstab helper, shipped separately) should call swiftfuse mount and swiftfuse umount.

COMMANDS

mount

Load a TOML config, optionally override with -o, then mount.

-c, --config PATH     TOML file (default /etc/swiftfuse.toml)
-f, --foreground      Stay in foreground
    --log FILTER      tracing filter (default info)
-o KEY[=VALUE]        Repeatable. Comma lists allowed.

Mountpoint comes from the positional argument, else [fs].mountpoint.

umount

Unmount. Never kills a process.

  1. fusermount3 -u MOUNTPOINT
  2. if still mounted, umount -l MOUNTPOINT

--lazy / -l skips step 1 and runs umount -l only.

If MOUNTPOINT is omitted and exactly one swiftfuse mount exists, that one is used.

status

Print the /proc/mounts line, config path (from daemon argv or -c), kernel_ttl and write_back if the config is readable, and pid from /proc (argv0 basename swiftfuse).

version

swiftfuse 0.1.0
features: chunk etcd

doctor

Checks, then exits 0 or 1. Output never includes auth keys or passwords.

  1. config file exists and parses
  2. etcd TCP ping if [fs].meta_backend = "etcd"
  3. Swift HEAD account if [auth] has a secret
  4. mount exists (positional, else config, else /mnt/swift-etcd)

MOUNT OPTIONS

-o keys map onto [fs] (and --log). Unknown keys are errors.

keytypeconfig field
allow_otherboolallow_other
write_backboolwrite_back
kernel_ttlu64 secondskernel_ttl
attr_ttlu64 secondsattr_ttl
dir_ttlu64 secondsdir_ttl
retriesu32retries
tmpdir, tmp_dirpathtmp_dir
block_sizeu64 bytesblock_size
cache_blocksusizecache_blocks
compact_intervalu64 secondscompact_interval
etcd_endpointshost:port,…etcd_endpoints
meta_backendsqlite or etcdmeta_backend
fs_namestringfs_name
leaseboollease
stats_listenhost:portstats_listen
stats_filepathstats_file
modechunk or rawmode
insecureboolinsecure
uidu32uid
gidu32gid
default_modeoctaldefault_mode
logfilter--log

Bare bool (-o allow_other) means true. true/false, 1/0, yes/no, on/off are accepted.

Generic fstab flags (_netdev, rw) are not accepted here. The fstab helper must strip them before calling swiftfuse mount.

FSTAB

/etc/swiftfuse-etcd.toml  /mnt/swift-etcd  fuse.swiftfuse  _netdev,allow_other  0  0

Requires scripts/mount.swiftfuse on the PATH that mount(8) uses (/sbin or /usr/sbin). That helper is not this binary.

FILES

/etc/swiftfuse.toml
/etc/swiftfuse-etcd.toml
/var/lib/swiftfuse/client_id
/var/tmp/swiftfuse
/run/swiftfuse/<fs_name>.stats.json

EXIT STATUS

0 on success. 1 on error. doctor is 1 if any check fails. status is 1 if the requested path is not mounted.

EXAMPLES

swiftfuse -c /etc/swiftfuse-etcd.toml --foreground
swiftfuse mount /mnt/swift-etcd -c /etc/swiftfuse-etcd.toml -f -o kernel_ttl=0
swiftfuse umount /mnt/swift-etcd
swiftfuse umount -l /mnt/swift-etcd
swiftfuse status /mnt/swift-etcd
swiftfuse doctor -c /etc/swiftfuse-etcd.toml
swiftfuse version

SEE ALSO

docs/ARCHITECTURE.md, config/swiftfuse.example.toml, systemd/swiftfuse.service