doc: Basic commands to test xsegbd/vlmcd/mapperd/filed end-to-end
[archipelago] / xseg / doc / flow.txt
1 Intented audience
2 =================
3
4 People who want to tinker with xseg internals, and need a quick-n-dirty intro
5 to the basics behind its operation.
6
7 Terminology / API
8 *****************
9
10 Client, server, peer, xsegbd, vlmc, map, request, segment, signal, wait...
11
12 Basic flow
13 **********
14
15 The initiator/client... then...
16
17  * Load the modules, mknod, create segment
18         - insmod lib/kernel/xseg.ko
19         - insmod lib/kernel/segdev.ko
20         - mknod /dev/segdev c 60 0
21         - insmod lib/kernel/xseg_segdev.ko
22         - insmod lib/kernel/xseg_posix.ko
23         - ./peer/users/xseg segdev:xsegbd:16:4096:64:1024:12 create
24         - insmod lib/kernel/xsegbd.ko
25
26  * Verify that the segment was created successfully:
27         - ./peer/users/xseg segdev:xsegbd reportall
28
29  * Allocate request for vlmcd:
30         - ./peer/users/xseg segdev:xsegbd 0:1 alloc_requests 1024
31
32  * Run vlmcd/mapperd/filed:
33         - ./peer/users/filed /srv/archip/images -p 9 -g segdev:xsegbd
34         - ./peer/users/mapperd[.py] -p 10 -g segdev:xsegbd
35         - ./peer/users/vlmcd -p 0 -g segdev:xsegbd -b 9 -m 10
36
37  * Create/List/Map/Unmap/Remove a volume:
38         - vlmc create test -s 4096
39         - vlmc list
40         - echo "test 1:0:1024" > /sys/bus/xsegbd/add
41         (vlmc map test might work as long as vlmcd runs on port 0, and port 1-2-n, where n the no of volumes mapped are free)
42         - vlmc showmapped
43         - echo 0 > /sys/bus/xsegbd/remove (or vlmc unmap /dev/xsegbd0)
44         - vlmc rm test