About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / filesystems / pohmelfs / info.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

1	POHMELFS usage information.
2	
3	Mount options.
4	All but index, number of crypto threads and maximum IO size can changed via remount.
5	
6	idx=%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	
12	trans_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	
18	drop_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	
24	wait_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	
29	trans_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	
35	crypto_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	
39	trans_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	
45	crypto_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	
49	mcache_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	
55	Usage examples.
56	
57	Add server server1.net:1025 into the working set with index $idx
58	with 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	
61	Mount filesystem with given index $idx to /mnt mountpoint.
62	Client will connect to all servers specified in the working set via previous command:
63	mount -t pohmel -o idx=$idx q /mnt
64	
65	Change 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	
68	Change 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	
71	One can check currect status of all connections in the mountstats file:
72	# cat /proc/$PID/mountstats
73	...
74	device none mounted on /mnt with fstype pohmel
75	idx addr(:port) socket_type protocol active priority permissions
76	0 server1.net:1026 1 6 1 250 1
77	0 server2.net:1025 1 6 1 123 3
78	
79	Server installation.
80	
81	Creating a server, which listens at port 1025 and 0.0.0.0 address.
82	Working root directory (note, that server chroots there, so you have to have appropriate permissions)
83	is set to /mnt, server will negotiate hash/cipher with client, in case client requested it, there
84	are appropriate key files.
85	Number 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	
98	Number of worker threads specifies how many workers will be created for each client.
99	Bulk single-client transafers usually are better handled with smaller number (like 1-3).
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog