---
name: "diod"
section: "8"
platform: "linux"
package: "diod"
version: "1.0.24-5.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/diod"
---

# diod(8)

distributed I/O daemon

## NAME

diod - distributed I/O daemon

## SYNOPSIS

**diod** *\[OPTIONS\]*

## DESCRIPTION

**diod** is the distributed I/O daemon server, which implements I/O forwarding on Linux clusters.

Configuration is read from the diod.conf (5) config file. Some configuration can be overridden on the command line, as described below.

## OPTIONS

- *-f, --foreground*

  Do not change working directory to /var/run, drop the controlling terminal, or run in the background. Send logs to stderr not syslog, unless sent somewhere else by *-L*.

- *-r, --rfdno INT*

  - *-w, --wfdno INT*

  Serve a connected client inherited on the specified read and write file descriptors.  For file descriptors connected bidirectionally, the two options may be set to the same value.

- *-l, --listen address*

  Set the listen address.  The address may be in the form of HOST:PORT, IP:PORT, or /path/to/unix\_domain\_socket form (default 0.0.0.0:564). This option may be specified more than once. It overrides the *listen* config file setting.

- *-t, --nwthreads INT*

  Set the number of worker threads to spawn to handle 9P operations for each unique aname. This option overrides the *nwthreads* setting in diod.conf (5). The default is 16.

- *-e, --export PATH*

  Set the file system to be exported. This option may be specified more than once. It overrides the *exports* setting in diod.conf (5).

- *-E, --export-all*

  Export everything in the server's /proc/mounts.

- *-o, --export-opts OPT\[,OPT,...\]*

  Set global export options. This option overrides the *exportopts* setting in diod.conf (5).

- *-n, --no-auth*

  This option allows users to attach without security credentials. It overrides  the *auth\_required* setting in diod.conf (5).

- *-N, --no-userdb*

  This option disables password/group lookups. It allows any uid to attach and assumes gid=uid, and supplementary groups contain only the primary gid. It overrides  the *userdb* setting in diod.conf (5).

- *-S, --allsquash*

  Remap all users to the squash user. The attaching user need not be present in the server's password file. This option overrides the *allsquash* setting in diod.conf (5).

- *-U, --squashuser*

  Set the squash user.  The default is nobody. This option overrides the *squashuser* setting in diod.conf (5). Note: if **diod** is not run as root, the effective uid overrides the *squashuser*.

- *-u, --runas-uid UID*

  Run the server as UID and only allow that user to attach. If invoked as root, **diod** sets real and effective uid, gid, and supplementary groups to those belonging to UID.

- *-L, --logdest DEST*

  Set the destination for logging.  Possible destinations are *syslog:facility:level*, *stderr*, *stdout*, or a file name. This option overrides the *logdest* setting in diod.conf (5).

- *-d, --debug MASK*

  Set the debug mask.  The bit values are:\
   0x01 - log decoded 9P protocol messages\

- *-c, --config-file PATH*

  Set config file path.

## FILES

/usr/sbin/diod\
 /etc/diod.conf

## SEE ALSO

diod.conf (5), mount.diod (8), hosts\_access (5)
