Commit 058ce5ca8155a4c8eeac9b9e8a70e6664996337b
1 parent
88a488f624
Exists in
master
and in
20 other branches
dm: document iterate_devices
Document iterate_devices in device-mapper.h. Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Showing 1 changed file with 15 additions and 0 deletions Side-by-side Diff
include/linux/device-mapper.h
... | ... | @@ -79,11 +79,26 @@ |
79 | 79 | typedef int (*dm_merge_fn) (struct dm_target *ti, struct bvec_merge_data *bvm, |
80 | 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 | 92 | typedef int (*iterate_devices_callout_fn) (struct dm_target *ti, |
83 | 93 | struct dm_dev *dev, |
84 | 94 | sector_t start, sector_t len, |
85 | 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 | 102 | typedef int (*dm_iterate_devices_fn) (struct dm_target *ti, |
88 | 103 | iterate_devices_callout_fn fn, |
89 | 104 | void *data); |