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.
fusermount3 -u MOUNTPOINT- 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.
- config file exists and parses
- etcd TCP ping if
[fs].meta_backend = "etcd" - Swift
HEADaccount if[auth]has a secret - mount exists (positional, else config, else
/mnt/swift-etcd)
MOUNT OPTIONS
-o keys map onto [fs] (and --log). Unknown keys are errors.
| key | type | config field |
|---|---|---|
| allow_other | bool | allow_other |
| write_back | bool | write_back |
| kernel_ttl | u64 seconds | kernel_ttl |
| attr_ttl | u64 seconds | attr_ttl |
| dir_ttl | u64 seconds | dir_ttl |
| retries | u32 | retries |
| tmpdir, tmp_dir | path | tmp_dir |
| block_size | u64 bytes | block_size |
| cache_blocks | usize | cache_blocks |
| compact_interval | u64 seconds | compact_interval |
| etcd_endpoints | host:port,… | etcd_endpoints |
| meta_backend | sqlite or etcd | meta_backend |
| fs_name | string | fs_name |
| lease | bool | lease |
| stats_listen | host:port | stats_listen |
| stats_file | path | stats_file |
| mode | chunk or raw | mode |
| insecure | bool | insecure |
| uid | u32 | uid |
| gid | u32 | gid |
| default_mode | octal | default_mode |
| log | filter | --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