Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 116 lines (82 sloc) 3.613 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
+----------+
| 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 2.6.38.5'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
Something went wrong with that request. Please try again.