diff options
Diffstat (limited to 'include/linux/device-mapper.h')
-rw-r--r-- | include/linux/device-mapper.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 1e483fa7afb4..3cd32478f2fd 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
@@ -79,11 +79,26 @@ typedef int (*dm_ioctl_fn) (struct dm_target *ti, unsigned int cmd, | |||
79 | typedef int (*dm_merge_fn) (struct dm_target *ti, struct bvec_merge_data *bvm, | 79 | typedef int (*dm_merge_fn) (struct dm_target *ti, struct bvec_merge_data *bvm, |
80 | struct bio_vec *biovec, int max_size); | 80 | struct bio_vec *biovec, int max_size); |
81 | 81 | ||
82 | /* | ||
83 | * These iteration functions are typically used to check (and combine) | ||
84 | * properties of underlying devices. | ||
85 | * E.g. Does at least one underlying device support flush? | ||
86 | * Does any underlying device not support WRITE_SAME? | ||
87 | * | ||
88 | * The callout function is called once for each contiguous section of | ||
89 | * an underlying device. State can be maintained in *data. | ||
90 | * Return non-zero to stop iterating through any further devices. | ||
91 | */ | ||
82 | typedef int (*iterate_devices_callout_fn) (struct dm_target *ti, | 92 | typedef int (*iterate_devices_callout_fn) (struct dm_target *ti, |
83 | struct dm_dev *dev, | 93 | struct dm_dev *dev, |
84 | sector_t start, sector_t len, | 94 | sector_t start, sector_t len, |
85 | void *data); | 95 | void *data); |
86 | 96 | ||
97 | /* | ||
98 | * This function must iterate through each section of device used by the | ||
99 | * target until it encounters a non-zero return code, which it then returns. | ||
100 | * Returns zero if no callout returned non-zero. | ||
101 | */ | ||
87 | typedef int (*dm_iterate_devices_fn) (struct dm_target *ti, | 102 | typedef int (*dm_iterate_devices_fn) (struct dm_target *ti, |
88 | iterate_devices_callout_fn fn, | 103 | iterate_devices_callout_fn fn, |
89 | void *data); | 104 | void *data); |