diff options
author | Alasdair G Kergon <agk@redhat.com> | 2013-05-10 14:37:17 +0100 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2013-05-10 14:37:17 +0100 |
commit | 058ce5ca8155a4c8eeac9b9e8a70e6664996337b (patch) | |
tree | a03efe966b0299fe36ec297ba370c241deb182ce /include | |
parent | 88a488f6243c98b38ac5191d4255e09d3b1c6455 (diff) | |
download | linux-058ce5ca8155a4c8eeac9b9e8a70e6664996337b.tar.gz linux-058ce5ca8155a4c8eeac9b9e8a70e6664996337b.tar.bz2 linux-058ce5ca8155a4c8eeac9b9e8a70e6664996337b.zip |
dm: document iterate_devices
Document iterate_devices in device-mapper.h.
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'include')
-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, typedef int (*dm_merge_fn) (struct dm_target *ti, struct bvec_merge_data *bvm, struct bio_vec *biovec, int max_size); +/* + * These iteration functions are typically used to check (and combine) + * properties of underlying devices. + * E.g. Does at least one underlying device support flush? + * Does any underlying device not support WRITE_SAME? + * + * The callout function is called once for each contiguous section of + * an underlying device. State can be maintained in *data. + * Return non-zero to stop iterating through any further devices. + */ typedef int (*iterate_devices_callout_fn) (struct dm_target *ti, struct dm_dev *dev, sector_t start, sector_t len, void *data); +/* + * This function must iterate through each section of device used by the + * target until it encounters a non-zero return code, which it then returns. + * Returns zero if no callout returned non-zero. + */ typedef int (*dm_iterate_devices_fn) (struct dm_target *ti, iterate_devices_callout_fn fn, void *data); |