diff options
| author | Mikulas Patocka <mpatocka@redhat.com> | 2009-12-10 18:52:01 -0500 |
|---|---|---|
| committer | Alasdair G Kergon <agk@redhat.com> | 2009-12-10 18:52:01 -0500 |
| commit | 87a8f240e9bcf025ba45e4563c842b0d59c5e8ef (patch) | |
| tree | b6b42a74fc1135c11656d8cf4bf5ea4005c74a77 /include/linux | |
| parent | 5adc78d0d231b030405b31759f125f13404fdb64 (diff) | |
dm log: add flush callback fn
Introduce a callback pointer from the log to dm-raid1 layer.
Before some region is set as "in-sync", we need to flush hardware cache on
all the disks. But the log module doesn't have access to the mirror_set
structure. So it will use this callback.
So far the callback is unused, it will be used in further patches.
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/dm-dirty-log.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/dm-dirty-log.h b/include/linux/dm-dirty-log.h index 5e8b11d88f6f..7084503c3405 100644 --- a/include/linux/dm-dirty-log.h +++ b/include/linux/dm-dirty-log.h | |||
| @@ -21,6 +21,7 @@ struct dm_dirty_log_type; | |||
| 21 | 21 | ||
| 22 | struct dm_dirty_log { | 22 | struct dm_dirty_log { |
| 23 | struct dm_dirty_log_type *type; | 23 | struct dm_dirty_log_type *type; |
| 24 | int (*flush_callback_fn)(struct dm_target *ti); | ||
| 24 | void *context; | 25 | void *context; |
| 25 | }; | 26 | }; |
| 26 | 27 | ||
| @@ -136,8 +137,9 @@ int dm_dirty_log_type_unregister(struct dm_dirty_log_type *type); | |||
| 136 | * type->constructor/destructor() directly. | 137 | * type->constructor/destructor() directly. |
| 137 | */ | 138 | */ |
| 138 | struct dm_dirty_log *dm_dirty_log_create(const char *type_name, | 139 | struct dm_dirty_log *dm_dirty_log_create(const char *type_name, |
| 139 | struct dm_target *ti, | 140 | struct dm_target *ti, |
| 140 | unsigned argc, char **argv); | 141 | int (*flush_callback_fn)(struct dm_target *ti), |
| 142 | unsigned argc, char **argv); | ||
| 141 | void dm_dirty_log_destroy(struct dm_dirty_log *log); | 143 | void dm_dirty_log_destroy(struct dm_dirty_log *log); |
| 142 | 144 | ||
| 143 | #endif /* __KERNEL__ */ | 145 | #endif /* __KERNEL__ */ |
