diod(8)

🌸 diod(8) β€” the distributed I/O daemon bestie briefing 🌸

okay so. gather round. this is the diod manual page, section 8, and by the end of this you're gonna get it. no cap.


✨ NAME ✨

diod β€” the distributed I/O daemon. yes that's its whole government name and it's serving πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

diod [OPTIONS]

πŸ’– DESCRIPTION πŸ’–

so diod is the distributed I/O daemon server β€” it implements I/O forwarding on Linux clusters. like, that's the whole job. iconic behavior honestly πŸ‘‘

config gets read from the diod.conf (5) config file. and some of that config can be overridden right on the command line, which is what all the stuff below is about. iykyk.


πŸŽ€ OPTIONS πŸŽ€

  • -f, --foreground β€” do not change the working directory to /var/run, do not drop the controlling terminal, and do not run in the background. also: send logs to stderr instead of syslog, unless -L sends them somewhere else. main character energy, staying right up front ✨
  • -r, --rfdno INT and -w, --wfdno INT β€” serve a connected client that got inherited on the specified read and write file descriptors. and if your file descriptors are connected bidirectionally, you can totally set both options to the same value. teamwork! 🫢
  • -l, --listen address β€” set the listen address. the address can be in the form of HOST:PORT, IP:PORT, or /path/to/unix_domain_socket form (default 0.0.0.0:564). you can specify this option more than once. it overrides the listen config file setting. so many options, so slay πŸ’…
  • -t, --nwthreads INT β€” set how many 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. sixteen little workers, all doing their thing 🧚
  • -e, --export PATH β€” set the file system to be exported. 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. go big or go home, periodt πŸ”₯
  • -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). (bestie, that's a real security choice, just so we're clear πŸ™ˆ)
  • -N, --no-userdb β€” this option disables password/group lookups. it lets any uid attach, 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 doesn't even need to be present in the server's password file. this option overrides the allsquash setting in diod.conf (5). everybody squashed, no exceptions πŸ’€
  • -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. lowkey important, don't skip that part ⭐
  • -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). pick your vibe 🌈
  • -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. yes queen, tell it where the config lives πŸ‘‘

πŸ“ FILES πŸ“

  • /usr/sbin/diod
  • /etc/diod.conf

🧚 SEE ALSO 🧚

diod.conf (5), mount.diod (8), hosts_access (5)


ok that's genuinely the whole page, no notes, go read the config file now bestie πŸ˜­πŸ’œ

and that's a wrap! this gem is diod version 1.0-pre27-516-g0d87511, dated diod(8) era β€” go forth and forward some I/O, ily, bye! πŸŒΈπŸ’…βœ¨