]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # SPDK vhost configuration file |
2 | # | |
3 | # Please write all parameters using ASCII. | |
4 | # The parameter must be quoted if it includes whitespace. | |
5 | ||
6 | # Configuration syntax: | |
7 | # Leading whitespace is ignored. | |
8 | # Lines starting with '#' are comments. | |
9 | # Lines ending with '\' are concatenated with the next line. | |
10 | # Bracketed ([]) names define sections | |
11 | ||
12 | [Global] | |
13 | # Instance ID for multi-process support | |
14 | # Default: 0 | |
15 | #InstanceID 0 | |
16 | ||
17 | # Users can restrict work items to only run on certain cores by | |
18 | # specifying a ReactorMask. Default is to allow work items to run | |
19 | # on core 0. | |
20 | #ReactorMask 0xFFFF | |
21 | ||
22 | # Tracepoint group mask for spdk trace buffers | |
23 | # Default: 0x0 (all tracepoint groups disabled) | |
24 | # Set to 0xFFFFFFFFFFFFFFFF to enable all tracepoint groups. | |
25 | #TpointGroupMask 0x0 | |
26 | ||
27 | # syslog facility | |
28 | LogFacility "local7" | |
29 | ||
30 | [Rpc] | |
31 | # Defines whether SPDK vhost will enable configuration via RPC. | |
32 | # Default is disabled. Note that the RPC interface is not | |
33 | # authenticated, so users should be careful about enabling | |
34 | # RPC in non-trusted environments. | |
35 | Enable No | |
36 | # Listen address for the RPC service. | |
37 | # May be an IP address or an absolute path to a Unix socket. | |
38 | Listen 127.0.0.1 | |
39 | ||
40 | # Users may not want to use offload even it is available. | |
41 | # Users may use the whitelist to initialize specified devices, IDS | |
42 | # uses BUS:DEVICE.FUNCTION to identify each Ioat channel. | |
43 | [Ioat] | |
44 | Disable Yes | |
45 | #Whitelist 00:04.0 | |
46 | #Whitelist 00:04.1 | |
47 | ||
48 | # Users must change this section to match the /dev/sdX devices to be | |
49 | # exported as vhost scsi drives. The devices are accessed using Linux AIO. | |
50 | [AIO] | |
51 | #AIO /dev/sdb | |
52 | #AIO /dev/sdc | |
53 | ||
54 | # Users may change this section to create a different number or size of | |
55 | # malloc LUNs. | |
56 | # If the system has hardware DMA engine, it will use an IOAT | |
57 | # (i.e. Crystal Beach DMA) channel to do the copy instead of memcpy. | |
58 | # Of course, users can disable offload even it is available. | |
59 | [Malloc] | |
60 | # Number of Malloc targets | |
61 | NumberOfLuns 3 | |
62 | # Malloc targets are 128M | |
63 | LunSizeInMB 128 | |
64 | # Block size. Default is 512 bytes. | |
65 | BlockSize 4096 | |
66 | ||
67 | # NVMe configuration options | |
68 | [Nvme] | |
69 | # NVMe Device Whitelist | |
70 | # Users may specify which NVMe devices to claim by their transport id. | |
71 | # See spdk_nvme_transport_id_parse() in spdk/nvme.h for the correct format. | |
72 | # The second argument is the assigned name, which can be referenced from | |
73 | # other sections in the configuration file. For NVMe devices, a namespace | |
74 | # is automatically appended to each name in the format <YourName>nY, where | |
75 | # Y is the NSID (starts at 1). | |
76 | TransportID "trtype:PCIe traddr:0000:00:00.0" Nvme0 | |
77 | TransportID "trtype:PCIe traddr:0000:01:00.0" Nvme1 | |
78 | ||
79 | # The number of attempts per I/O when an I/O fails. Do not include | |
80 | # this key to get the default behavior. | |
81 | RetryCount 4 | |
82 | # Timeout for each command, in seconds. If 0, don't track timeouts. | |
83 | Timeout 0 | |
84 | # Action to take on command time out. Only valid when Timeout is greater | |
85 | # than 0. This may be 'Reset' to reset the controller, 'Abort' to abort | |
86 | # the command, or 'None' to just print a message but do nothing. | |
87 | # Admin command timeouts will always result in a reset. | |
88 | ActionOnTimeout None | |
89 | # Set how often the admin queue is polled for asynchronous events. | |
90 | # Units in microseconds. | |
91 | AdminPollRate 100000 | |
92 | ||
93 | # Enable handling of hotplug (runtime insert and remove) events | |
94 | # vhost currently does not support hotplug | |
95 | HotplugEnable No | |
96 | ||
97 | # The Split virtual block device slices block devices into multiple smaller bdevs. | |
98 | [Split] | |
99 | # Syntax: | |
100 | # Split <bdev> <count> [<size_in_megabytes>] | |
101 | # | |
102 | # Split Nvme1n1 into two equally-sized portions, Nvme1n1p0 and Nvme1n1p1 | |
103 | #Split Nvme1n1 2 | |
104 | ||
105 | # Split Malloc2 into eight 1-megabyte portions, Malloc2p0 ... Malloc2p7, | |
106 | # leaving the rest of the device inaccessible | |
107 | #Split Malloc2 8 1 | |
108 | ||
109 | # Vhost scsi controller configuration | |
110 | # Users should change the VhostScsi section(s) below to match the desired | |
111 | # vhost configuration. | |
112 | # Name is minimum required | |
113 | [VhostScsi0] | |
114 | # Define name for controller | |
115 | Name vhost.0 | |
116 | # Assign devices from backend | |
117 | # Use the first malloc device | |
118 | Dev 0 Malloc0 | |
119 | # Use the first AIO device | |
120 | #Dev 1 AIO0 | |
121 | # Use the frist Nvme device | |
122 | #Dev 2 Nvme0n1 | |
123 | # Use the third partition from second Nvme device | |
124 | #Dev 3 Nvme1n1p2 | |
125 | ||
126 | # Start the poller for this vhost controller on one of the cores in | |
127 | # this cpumask. By default, it not specified, will use any core in the | |
128 | # SPDK process. | |
129 | #Cpumask 0x1 | |
130 | ||
131 | #[VhostScsi1] | |
132 | # Name vhost.1 | |
133 | # Dev0 AIO1 | |
134 | # Cpumask 0x1 |