aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/dm-log-userspace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/dm-log-userspace.h')
-rw-r--r--include/uapi/linux/dm-log-userspace.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/include/uapi/linux/dm-log-userspace.h b/include/uapi/linux/dm-log-userspace.h
index 0678c2adc421..0fa0d9ef06a5 100644
--- a/include/uapi/linux/dm-log-userspace.h
+++ b/include/uapi/linux/dm-log-userspace.h
@@ -201,11 +201,18 @@
201 * int (*flush)(struct dm_dirty_log *log); 201 * int (*flush)(struct dm_dirty_log *log);
202 * 202 *
203 * Payload-to-userspace: 203 * Payload-to-userspace:
204 * None. 204 * If the 'integrated_flush' directive is present in the constructor
205 * table, the payload is as same as DM_ULOG_MARK_REGION:
206 * uint64_t [] - region(s) to mark
207 * else
208 * None
205 * Payload-to-kernel: 209 * Payload-to-kernel:
206 * None. 210 * None.
207 * 211 *
208 * No incoming or outgoing payload. Simply flush log state to disk. 212 * If the 'integrated_flush' option was used during the creation of the
213 * log, mark region requests are carried as payload in the flush request.
214 * Piggybacking the mark requests in this way allows for fewer communications
215 * between kernel and userspace.
209 * 216 *
210 * When the request has been processed, user-space must return the 217 * When the request has been processed, user-space must return the
211 * dm_ulog_request to the kernel - setting the 'error' field and clearing 218 * dm_ulog_request to the kernel - setting the 'error' field and clearing
@@ -385,8 +392,15 @@
385 * version 2: DM_ULOG_CTR allowed to return a string containing a 392 * version 2: DM_ULOG_CTR allowed to return a string containing a
386 * device name that is to be registered with DM via 393 * device name that is to be registered with DM via
387 * 'dm_get_device'. 394 * 'dm_get_device'.
395 * version 3: DM_ULOG_FLUSH is capable of carrying payload for marking
396 * regions. This "integrated flush" reduces the number of
397 * requests between the kernel and userspace by effectively
398 * merging 'mark' and 'flush' requests. A constructor table
399 * argument ('integrated_flush') is required to turn this
400 * feature on, so it is backwards compatible with older
401 * userspace versions.
388 */ 402 */
389#define DM_ULOG_REQUEST_VERSION 2 403#define DM_ULOG_REQUEST_VERSION 3
390 404
391struct dm_ulog_request { 405struct dm_ulog_request {
392 /* 406 /*