diff options
Diffstat (limited to 'drivers/md/dm-cache-policy.h')
| -rw-r--r-- | drivers/md/dm-cache-policy.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/drivers/md/dm-cache-policy.h b/drivers/md/dm-cache-policy.h index 33369ca9614f..052c00a84a5c 100644 --- a/drivers/md/dm-cache-policy.h +++ b/drivers/md/dm-cache-policy.h | |||
| @@ -135,9 +135,6 @@ struct dm_cache_policy { | |||
| 135 | */ | 135 | */ |
| 136 | int (*lookup)(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock); | 136 | int (*lookup)(struct dm_cache_policy *p, dm_oblock_t oblock, dm_cblock_t *cblock); |
| 137 | 137 | ||
| 138 | /* | ||
| 139 | * oblock must be a mapped block. Must not block. | ||
| 140 | */ | ||
| 141 | void (*set_dirty)(struct dm_cache_policy *p, dm_oblock_t oblock); | 138 | void (*set_dirty)(struct dm_cache_policy *p, dm_oblock_t oblock); |
| 142 | void (*clear_dirty)(struct dm_cache_policy *p, dm_oblock_t oblock); | 139 | void (*clear_dirty)(struct dm_cache_policy *p, dm_oblock_t oblock); |
| 143 | 140 | ||
| @@ -159,8 +156,24 @@ struct dm_cache_policy { | |||
| 159 | void (*force_mapping)(struct dm_cache_policy *p, dm_oblock_t current_oblock, | 156 | void (*force_mapping)(struct dm_cache_policy *p, dm_oblock_t current_oblock, |
| 160 | dm_oblock_t new_oblock); | 157 | dm_oblock_t new_oblock); |
| 161 | 158 | ||
| 162 | int (*writeback_work)(struct dm_cache_policy *p, dm_oblock_t *oblock, dm_cblock_t *cblock); | 159 | /* |
| 160 | * This is called via the invalidate_cblocks message. It is | ||
| 161 | * possible the particular cblock has already been removed due to a | ||
| 162 | * write io in passthrough mode. In which case this should return | ||
| 163 | * -ENODATA. | ||
| 164 | */ | ||
| 165 | int (*remove_cblock)(struct dm_cache_policy *p, dm_cblock_t cblock); | ||
| 163 | 166 | ||
| 167 | /* | ||
| 168 | * Provide a dirty block to be written back by the core target. | ||
| 169 | * | ||
| 170 | * Returns: | ||
| 171 | * | ||
| 172 | * 0 and @cblock,@oblock: block to write back provided | ||
| 173 | * | ||
| 174 | * -ENODATA: no dirty blocks available | ||
| 175 | */ | ||
| 176 | int (*writeback_work)(struct dm_cache_policy *p, dm_oblock_t *oblock, dm_cblock_t *cblock); | ||
| 164 | 177 | ||
| 165 | /* | 178 | /* |
| 166 | * How full is the cache? | 179 | * How full is the cache? |
