| POHMELFS usage information. | 
 |  | 
 | Mount options. | 
 | All but index, number of crypto threads and maximum IO size can changed via remount. | 
 |  | 
 | idx=%u | 
 |  Each mountpoint is associated with a special index via this option. | 
 |  Administrator can add or remove servers from the given index, so all mounts, | 
 |  which were attached to it, are updated. | 
 |  Default it is 0. | 
 |  | 
 | trans_scan_timeout=%u | 
 |  This timeout, expressed in milliseconds, specifies time to scan transaction | 
 |  trees looking for stale requests, which have to be resent, or if number of | 
 |  retries exceed specified limit, dropped with error. | 
 |  Default is 5 seconds. | 
 |  | 
 | drop_scan_timeout=%u | 
 |  Internal timeout, expressed in milliseconds, which specifies how frequently | 
 |  inodes marked to be dropped are freed. It also specifies how frequently | 
 |  the system checks that servers have to be added or removed from current working set. | 
 |  Default is 1 second. | 
 |  | 
 | wait_on_page_timeout=%u | 
 |  Number of milliseconds to wait for reply from remote server for data reading command. | 
 |  If this timeout is exceeded, reading returns an error. | 
 |  Default is 5 seconds. | 
 |  | 
 | trans_retries=%u | 
 |  This is the number of times that a transaction will be resent to a server that did | 
 |  not answer for the last @trans_scan_timeout milliseconds. | 
 |  When the number of resends exceeds this limit, the transaction is completed with error. | 
 |  Default is 5 resends. | 
 |  | 
 | crypto_thread_num=%u | 
 |  Number of crypto processing threads. Threads are used both for RX and TX traffic. | 
 |  Default is 2, or no threads if crypto operations are not supported. | 
 |  | 
 | trans_max_pages=%u | 
 |  Maximum number of pages in a single transaction. This parameter also controls | 
 |  the number of pages,  allocated for crypto processing (each crypto thread has | 
 |  pool of pages, the number of which is equal to 'trans_max_pages'. | 
 |  Default is 100 pages. | 
 |  | 
 | crypto_fail_unsupported | 
 |  If specified, mount will fail if the server does not support requested crypto operations. | 
 |  By default mount will disable non-matching crypto operations. | 
 |  | 
 | mcache_timeout=%u | 
 |  Maximum number of milliseconds to wait for the mcache objects to be processed. | 
 |  Mcache includes locks (given lock should be granted by server), attributes (they should be | 
 |  fully received in the given timeframe). | 
 |  Default is 5 seconds. | 
 |  | 
 | Usage examples. | 
 |  | 
 | Add server server1.net:1025 into the working set with index $idx | 
 | with appropriate hash algorithm and key file and cipher algorithm, mode and key file: | 
 | $cfg A add -a server1.net -p 1025 -i $idx -K $hash_key -k $cipher_key | 
 |  | 
 | Mount filesystem with given index $idx to /mnt mountpoint. | 
 | Client will connect to all servers specified in the working set via previous command: | 
 | mount -t pohmel -o idx=$idx q /mnt | 
 |  | 
 | Change permissions to read-only (-I 1 option, '-I 2' - write-only, 3 - rw): | 
 | $cfg A modify -a server1.net -p 1025 -i $idx -I 1 | 
 |  | 
 | Change IO priority to 123 (node with the highest priority gets read requests). | 
 | $cfg A modify -a server1.net -p 1025 -i $idx -P 123 | 
 |  | 
 | One can check currect status of all connections in the mountstats file: | 
 | # cat /proc/$PID/mountstats | 
 | ... | 
 | device none mounted on /mnt with fstype pohmel | 
 | idx addr(:port) socket_type protocol active priority permissions | 
 | 0 server1.net:1026 1 6 1 250 1 | 
 | 0 server2.net:1025 1 6 1 123 3 | 
 |  | 
 | Server installation. | 
 |  | 
 | Creating a server, which listens at port 1025 and 0.0.0.0 address. | 
 | Working root directory (note, that server chroots there, so you have to have appropriate permissions) | 
 | is set to /mnt, server will negotiate hash/cipher with client, in case client requested it, there | 
 | are appropriate key files. | 
 | Number of working threads is set to 10. | 
 |  | 
 | # ./fserver -a 0.0.0.0 -p 1025 -r /mnt -w 10 -K hash_key -k cipher_key | 
 |  | 
 |  -A 6			 - listen on ipv6 address. Default: Disabled. | 
 |  -r root                 - path to root directory. Default: /tmp. | 
 |  -a addr                 - listen address. Default: 0.0.0.0. | 
 |  -p port                 - listen port. Default: 1025. | 
 |  -w workers              - number of workers per connected client. Default: 1. | 
 |  -K file		 - hash key size. Default: none. | 
 |  -k file		 - cipher key size. Default: none. | 
 |  -h                      - this help. | 
 |  | 
 | Number of worker threads specifies how many workers will be created for each client. | 
 | Bulk single-client transafers usually are better handled with smaller number (like 1-3). |