File: README

package info (click to toggle)
diod 1.0.21-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 30,152 kB
  • ctags: 3,092
  • sloc: ansic: 33,152; sh: 15,502; makefile: 367; perl: 80
file content (116 lines) | stat: -rw-r--r-- 3,613 bytes parent folder | download | duplicates (2)
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