dm: allow targets to request flushes regardless of underlying device support
Allow targets to override the 'supports flush' calculation. Set 'flush_supported' if a target needs to receive flushes regardless of whether or not its underlying devices have support. Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
Родитель
f4b90369d3
Коммит
0e9c24ed74
|
@ -1319,6 +1319,9 @@ static bool dm_table_supports_flush(struct dm_table *t, unsigned flush)
|
|||
if (!ti->num_flush_requests)
|
||||
continue;
|
||||
|
||||
if (ti->flush_supported)
|
||||
return 1;
|
||||
|
||||
if (ti->type->iterate_devices &&
|
||||
ti->type->iterate_devices(ti, device_flush_capable, &flush))
|
||||
return 1;
|
||||
|
|
|
@ -211,6 +211,12 @@ struct dm_target {
|
|||
/* Used to provide an error string from the ctr */
|
||||
char *error;
|
||||
|
||||
/*
|
||||
* Set if this target needs to receive flushes regardless of
|
||||
* whether or not its underlying devices have support.
|
||||
*/
|
||||
bool flush_supported:1;
|
||||
|
||||
/*
|
||||
* Set if this target needs to receive discards regardless of
|
||||
* whether or not its underlying devices have support.
|
||||
|
|
Загрузка…
Ссылка в новой задаче