C Shell Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
+----------+ | Building | +----------+ To build all of diod's features, you need a few prerequisites: lua, lua-devel (version 5.1 or better) [on debian/ubuntu liblua5.1-dev] For /etc/diod.conf config file support. munge, munge-libs, munge-devel For MUNGE authentication support. tcp_wrappers, tcp_wrappers-libs, tcp_wrappers-devel For TCP wrapper support. libcap, libcap-devel Necessary for correct handling of supplemental groups when server is running as root (DAC check is delegated to client). Note: on Debian/Ubuntu, LUA requires the following configure flags: ./configure CPPFLAGS="-I/usr/include/lua5.1" --with-lua-suffix=5.1 +---------------------+ | Client Requirements | +---------------------+ Diod is a user space server for the kernel v9fs client (9p.ko, 9pnet.ko). Although the kernel client supports several 9P variants, diod only supports 9P2000.L, and only in its feature-complete form, as it appeared in 2.6.38. Earlier versions of the kernel that do not support 9P2000.L will fail at mount time when version negotiation fails. Some pre-2.6.38 versions of the kernel that have 9P2000.L but still send some 9P2000.u ops may fail in less obvious ways. Use a 2.6.38 or later kernel, or a v9fs backport such as this one of 22.214.171.124's v9fs to RHEL6.1's 2.6.32 kernel. git://github.com/garlick/9p-sac.git +---------+ | Testing | +---------+ Unit tests (make check): ./tests/misc Miscellaneous unit tests. Some tests will be skipped if not root. Others will be skipped if valgrind is not installed. ./tests/user User space client and user space server running across a socketpair. Some tests will be skipped if not root. Others will be skipped if you ARE root. None require kernel 9p support. ./tests/kern: Kernel space client and user space server running across a socketpair. Tests will be skipped if 9p cannot be modprobed. Running by hand for debugging: Start diod server in foreground, with proto debug, no-auth, one export: sudo ./diod -f -d 1 -n -e /tmp/9 Mount it: sudo mount -t 9p -n 127.0.0.1 /mnt \ -oaname=/tmp/9,version=9p2000.L,uname=root,access=user Or mount with diodmount: sudo ./diodmount -n localhost:/tmp/9 /mnt Or if diodmount is installed as /sbin/mount.diod: sudo mount -t diod -n localhost:/tmp/9 /mnt Running diod for I/O forwarding on clusters: On I/O node, set up /etc/diod.conf accordign to diod.conf(5), then: chkconfig diod on service diod start On compute node, if I/O node is fritz42, add entries like this to fstab (assumes diodmount is installed as /sbin/mount.diod): fritz42:/g/g0 /g/g0 diod default 0 0 ... Alternatively, use "zero-config" automounter method(*): set DIOD_SERVERS="fritz42" in /etc/sysconfig/auto.diod add to /etc/auto.master "/d /etc/auto.diod" mkdir /d chkconfig autofs on service autofs start ln -s /d/g.g0 /g/g0 ... Note that at this point diod is only being tested with NFS file systems. Use it with Lustre or GPFS at your own peril - but if you do, please report issues! (*)only works on exports that are themselves mount points, see /etc/auto.diod +---------+ | Support | +---------+ Source access is on the github site: https://github.com/chaos/diod Wiki and issue tracker are on the google code site: http://code.google.com/p/diod/ Diod can be discussed on the v9fs-users mailing list: https://lists.sourceforge.net/lists/listinfo/v9fs-users