diff options
author | Mike Snitzer <snitzer@redhat.com> | 2010-08-12 05:14:10 +0200 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2010-08-12 05:14:10 +0200 |
commit | 56a67df766039666f61fb15b079f713e44a735ae (patch) | |
tree | cfeeb4f0a151b440293da593c723e9982368a58f /include | |
parent | dm: use common __issue_target_request for flush and discard support (diff) | |
download | linux-56a67df766039666f61fb15b079f713e44a735ae.tar.xz linux-56a67df766039666f61fb15b079f713e44a735ae.zip |
dm: factor out max_io_len_target_boundary
Split max_io_len_target_boundary out of max_io_len so that the discard
support can make use of it without duplicating max_io_len code.
Avoiding max_io_len's split_io logic enables DM's discard support to
submit the entire discard request to a target. But discards must still
be split on target boundaries.
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/device-mapper.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 751ce21dea7b..2970022faa63 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h @@ -398,6 +398,12 @@ void *dm_vcalloc(unsigned long nmemb, unsigned long elem_size); #define dm_array_too_big(fixed, obj, num) \ ((num) > (UINT_MAX - (fixed)) / (obj)) +/* + * Sector offset taken relative to the start of the target instead of + * relative to the start of the device. + */ +#define dm_target_offset(ti, sector) ((sector) - (ti)->begin) + static inline sector_t to_sector(unsigned long n) { return (n >> SECTOR_SHIFT); |