diff options
Diffstat (limited to 'include/uapi/linux/dm-log-userspace.h')
| -rw-r--r-- | include/uapi/linux/dm-log-userspace.h | 20 |
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 | ||
| 391 | struct dm_ulog_request { | 405 | struct dm_ulog_request { |
| 392 | /* | 406 | /* |
