NAME¶
diod.conf - distributed I/O daemon configuration file
DESCRIPTION¶
The diod.conf file is actually a LUA script. Internal config defaults are
overridden by settings in the file, and some of those values can in turn be
overridden on the command line.
Config settings take the form of LUA global variables which are read out after
the config file is executed. Therefore, the values of said variables can
either be statically assigned or computed. The variables are described below.
CONFIG VARIABLES¶
- listen = { "IP:PORT"
[,"IP:PORT",...] }
- List the interfaces and ports that diod should
listen on. The default is "0.0.0.0:564".
- exports = { "/path" [, "/path", ...]
}
- List the file systems that clients will be allowed to
mount. All paths should be fully qualified. The exports table can include
two types of element, a string element (as above), or a table element of
the form { path="/path", opts="ro" }. The path
attribute is mandatory, and the opts attribute is an optional,
comma-separated list of export options. Currently the only supported
options are "ro" (export read-only), "suppress" (no
export), and "sharefd" (allow limited server-side file
descriptor sharing for files opened O_RDONLY). The two table element forms
can be mixed in the exports table. Note that although diod will not
traverse file system boundaries for a given mount due to inode uniqueness
constraints, subdirectories of a file system can be separately
exported.
- exportall = 1
- Export all file systems listed in /proc/mounts. If new file
systems are mounted after diod has started, they will become
immediately mountable. If there is a duplicate entry for a file system in
the exports list, any options listed in the exports entry will
apply.
- exportopts = "opt,opt,..."
- Establish a default set of export options. These are
overridden, not appended to, by opts attributes in an "exports"
entry.
- nwthreads = INTEGER
- Sets the (fixed) number of worker threads created to handle
9P requests for a unique aname. The default is 16 per aname.
- auth_required = 0
- Allow clients to connect without authentication, i.e.
without a valid munge credential.
- userdb = 0
- This option disables password/group lookups. It allows any
uid to attach and assumes gid=uid, and supplementary groups contain only
the primary gid.
- allsquash = 1
- Remap all users to "nobody". The attaching user
need not be present in the password file.
- squashuser = "nobody"
- Change the squash user from the default of nobody. The
squash user must be present in the password file.
- logdest = "DEST"
- Set the destination for logging. DEST is in the form
of syslog:facility:level or filename. The default is
syslog:daemon:err.
- statfs_passthru = 1
- This option configures statfs to return the host file
system's type rather than V9FS_MAGIC. The default is 0 (return
V9FS_MAGIC).
EXAMPLE¶
--
-- example diod.conf
--
listen = { "0.0.0.0:10002" }
exports = {
"/home",
"/usr/global",
{ path="/usr/local", opts="ro" },
}
nwthreads = 8
FILES¶
/etc/diod.conf
SEE ALSO¶
lua (1), diod (8), openlog (3)
http://www.lua.org/