1POHMELFS usage information. 2 3Mount options. 4All but index, number of crypto threads and maximum IO size can changed via remount. 5 6idx=%u 7 Each mountpoint is associated with a special index via this option. 8 Administrator can add or remove servers from the given index, so all mounts, 9 which were attached to it, are updated. 10 Default it is 0. 11 12trans_scan_timeout=%u 13 This timeout, expressed in milliseconds, specifies time to scan transaction 14 trees looking for stale requests, which have to be resent, or if number of 15 retries exceed specified limit, dropped with error. 16 Default is 5 seconds. 17 18drop_scan_timeout=%u 19 Internal timeout, expressed in milliseconds, which specifies how frequently 20 inodes marked to be dropped are freed. It also specifies how frequently 21 the system checks that servers have to be added or removed from current working set. 22 Default is 1 second. 23 24wait_on_page_timeout=%u 25 Number of milliseconds to wait for reply from remote server for data reading command. 26 If this timeout is exceeded, reading returns an error. 27 Default is 5 seconds. 28 29trans_retries=%u 30 This is the number of times that a transaction will be resent to a server that did 31 not answer for the last @trans_scan_timeout milliseconds. 32 When the number of resends exceeds this limit, the transaction is completed with error. 33 Default is 5 resends. 34 35crypto_thread_num=%u 36 Number of crypto processing threads. Threads are used both for RX and TX traffic. 37 Default is 2, or no threads if crypto operations are not supported. 38 39trans_max_pages=%u 40 Maximum number of pages in a single transaction. This parameter also controls 41 the number of pages, allocated for crypto processing (each crypto thread has 42 pool of pages, the number of which is equal to 'trans_max_pages'. 43 Default is 100 pages. 44 45crypto_fail_unsupported 46 If specified, mount will fail if the server does not support requested crypto operations. 47 By default mount will disable non-matching crypto operations. 48 49mcache_timeout=%u 50 Maximum number of milliseconds to wait for the mcache objects to be processed. 51 Mcache includes locks (given lock should be granted by server), attributes (they should be 52 fully received in the given timeframe). 53 Default is 5 seconds. 54 55Usage examples. 56 57Add server server1.net:1025 into the working set with index $idx 58with appropriate hash algorithm and key file and cipher algorithm, mode and key file: 59$cfg A add -a server1.net -p 1025 -i $idx -K $hash_key -k $cipher_key 60 61Mount filesystem with given index $idx to /mnt mountpoint. 62Client will connect to all servers specified in the working set via previous command: 63mount -t pohmel -o idx=$idx q /mnt 64 65Change permissions to read-only (-I 1 option, '-I 2' - write-only, 3 - rw): 66$cfg A modify -a server1.net -p 1025 -i $idx -I 1 67 68Change IO priority to 123 (node with the highest priority gets read requests). 69$cfg A modify -a server1.net -p 1025 -i $idx -P 123 70 71One can check currect status of all connections in the mountstats file: 72# cat /proc/$PID/mountstats 73... 74device none mounted on /mnt with fstype pohmel 75idx addr(:port) socket_type protocol active priority permissions 760 server1.net:1026 1 6 1 250 1 770 server2.net:1025 1 6 1 123 3 78 79Server installation. 80 81Creating a server, which listens at port 1025 and 0.0.0.0 address. 82Working root directory (note, that server chroots there, so you have to have appropriate permissions) 83is set to /mnt, server will negotiate hash/cipher with client, in case client requested it, there 84are appropriate key files. 85Number of working threads is set to 10. 86 87# ./fserver -a 0.0.0.0 -p 1025 -r /mnt -w 10 -K hash_key -k cipher_key 88 89 -A 6 - listen on ipv6 address. Default: Disabled. 90 -r root - path to root directory. Default: /tmp. 91 -a addr - listen address. Default: 0.0.0.0. 92 -p port - listen port. Default: 1025. 93 -w workers - number of workers per connected client. Default: 1. 94 -K file - hash key size. Default: none. 95 -k file - cipher key size. Default: none. 96 -h - this help. 97 98Number of worker threads specifies how many workers will be created for each client. 99Bulk single-client transafers usually are better handled with smaller number (like 1-3). 100