dm table: add singleton feature
Introduce the concept of a singleton table which contains exactly one target. If a target type sets the DM_TARGET_SINGLETON feature bit device-mapper will ensure that any table that includes that target contains no others. The thin provisioning pool target uses this. Signed-off-by: Alasdair G Kergon <agk@redhat.com>
This commit is contained in:
@ -128,10 +128,6 @@ void dm_put_device(struct dm_target *ti, struct dm_dev *d);
|
||||
* Information about a target type
|
||||
*/
|
||||
|
||||
/*
|
||||
* Target features
|
||||
*/
|
||||
|
||||
struct target_type {
|
||||
uint64_t features;
|
||||
const char *name;
|
||||
@ -160,6 +156,16 @@ struct target_type {
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
/*
|
||||
* Target features
|
||||
*/
|
||||
|
||||
/*
|
||||
* Any table that contains an instance of this target must have only one.
|
||||
*/
|
||||
#define DM_TARGET_SINGLETON 0x00000001
|
||||
#define dm_target_needs_singleton(type) ((type)->features & DM_TARGET_SINGLETON)
|
||||
|
||||
struct dm_target {
|
||||
struct dm_table *table;
|
||||
struct target_type *type;
|
||||
|
Reference in New Issue
Block a user