[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