[dm-devel] Re: [PATCH 07/18] Replicator: suspend/deactivate replicator
Mike Snitzer
snitzer at redhat.com
Tue Nov 3 16:46:14 UTC 2009
On Mon, Nov 02 2009 at 9:20am -0500,
Zdenek Kabelac <zkabelac at redhat.com> wrote:
> Introducing dm_tree_set_replicator_suspend() to suspend
> replicator control device before actual deactivation of replicator-dev
> head device.
>
> Signed-off-by: Zdenek Kabelac <zkabelac at redhat.com>
> ---
> libdm/.exported_symbols | 1 +
> libdm/libdevmapper.h | 2 +
> libdm/libdm-deptree.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 66 insertions(+), 0 deletions(-)
>
> diff --git a/libdm/.exported_symbols b/libdm/.exported_symbols
> index 7b5e3f0..3217e03 100644
> --- a/libdm/.exported_symbols
> +++ b/libdm/.exported_symbols
> @@ -79,6 +79,7 @@ dm_tree_node_add_mirror_target_log
> dm_tree_node_add_target_area
> dm_tree_node_add_replicator_target
> dm_tree_node_add_replicator_dev_target
> +dm_tree_set_replicator_suspend
> dm_tree_node_set_read_ahead
> dm_tree_skip_lockfs
> dm_tree_use_no_flush_suspend
> diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h
> index f96aed3..66ce055 100644
> --- a/libdm/libdevmapper.h
> +++ b/libdm/libdevmapper.h
> @@ -457,6 +457,8 @@ int dm_tree_node_add_replicator_dev_target(struct dm_tree_node *node,
> uint32_t slog_flags, /* Mirror log flags */
> uint32_t slog_size);
>
> +int dm_tree_set_replicator_suspend(struct dm_tree *dtree, const char *uuid);
> +
> int dm_tree_node_add_target_area(struct dm_tree_node *node,
> const char *dev_name,
> const char *dlid,
> diff --git a/libdm/libdm-deptree.c b/libdm/libdm-deptree.c
> index 0ba4e7e..652b9e8 100644
> --- a/libdm/libdm-deptree.c
> +++ b/libdm/libdm-deptree.c
> @@ -157,6 +157,7 @@ struct dm_tree_node {
> struct dm_list used_by; /* Nodes that use this node */
>
> int activation_priority; /* 0 gets activated first */
> + int replicator_suspend; /* 1 gets suspend first */
>
> uint16_t udev_flags; /* Udev control flags */
>
I think it would be wise to make this more generic,
e.g. "suspend_priority".
It could be that other future devices would like to prioritize the
suspend sequence too. Having a means to do so (without using a
seemingly replicator-specific node attribute) would be good.
So this really just amounts to: s/replicator_suspend/suspend_priority/
Mike
More information about the dm-devel
mailing list