diff options
| author | Mikulas Patocka <mpatocka@redhat.com> | 2009-06-22 05:12:20 -0400 |
|---|---|---|
| committer | Alasdair G Kergon <agk@redhat.com> | 2009-06-22 05:12:20 -0400 |
| commit | f9ab94cee313746573b2d693bc2afb807ebb0998 (patch) | |
| tree | 150155f364db0f26c7217e1f92d31344aa67a3f0 /include/linux | |
| parent | 27eaa14975d8b53f0bad422e53cdf8e5f6dd44ec (diff) | |
dm: introduce num_flush_requests
Introduce num_flush_requests for a target to set to say how many flush
instructions (empty barriers) it wants to receive. These are sent by
__clone_and_map_empty_barrier with map_info->flush_request going from 0
to (num_flush_requests - 1).
Old targets without flush support won't receive any flush requests.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/device-mapper.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 49c2362977fd..fc36a4d07723 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
| @@ -21,6 +21,7 @@ typedef enum { STATUSTYPE_INFO, STATUSTYPE_TABLE } status_type_t; | |||
| 21 | union map_info { | 21 | union map_info { |
| 22 | void *ptr; | 22 | void *ptr; |
| 23 | unsigned long long ll; | 23 | unsigned long long ll; |
| 24 | unsigned flush_request; | ||
| 24 | }; | 25 | }; |
| 25 | 26 | ||
| 26 | /* | 27 | /* |
| @@ -168,6 +169,16 @@ struct dm_target { | |||
| 168 | sector_t split_io; | 169 | sector_t split_io; |
| 169 | 170 | ||
| 170 | /* | 171 | /* |
| 172 | * A number of zero-length barrier requests that will be submitted | ||
| 173 | * to the target for the purpose of flushing cache. | ||
| 174 | * | ||
| 175 | * The request number will be placed in union map_info->flush_request. | ||
| 176 | * It is a responsibility of the target driver to remap these requests | ||
| 177 | * to the real underlying devices. | ||
| 178 | */ | ||
| 179 | unsigned num_flush_requests; | ||
| 180 | |||
| 181 | /* | ||
| 171 | * These are automatically filled in by | 182 | * These are automatically filled in by |
| 172 | * dm_table_get_device. | 183 | * dm_table_get_device. |
| 173 | */ | 184 | */ |
