[lvm-devel] [PATCH 01/22] Add dm_list_splice() for list join.

Petr Rockai prockai at redhat.com
Wed Apr 14 11:38:25 UTC 2010


Zdenek Kabelac <zkabelac at redhat.com> writes:
> --- a/libdm/datastruct/list.c
> +++ b/libdm/datastruct/list.c
> @@ -144,3 +144,15 @@ unsigned int dm_list_size(const struct dm_list *head)
>  
>  	return s;
>  }
> +
> +void dm_list_splice(struct dm_list *list, struct dm_list *head)
> +{
> +	struct dm_list *first = list->n;
> +	struct dm_list *last = list->p;
> +	struct dm_list *at = head->n;
> +
> +	first->p = head;
> +	head->n = first;
> +	last->n = at;
> +	at->p = last;
> +}

> --- a/libdm/libdevmapper.h
> +++ b/libdm/libdevmapper.h
> @@ -715,6 +715,11 @@ void dm_list_del(struct dm_list *elem);
>  void dm_list_move(struct dm_list *head, struct dm_list *elem);
>  
>  /*
> + * Join 'list' to 'head'.
> + */
> +void dm_list_splice(struct dm_list *list, struct dm_list *head);
> +
> +/*
>   * Is the list empty?
>   */
>  int dm_list_empty(const struct dm_list *head);

Ack. Please check in.

Yours,
   Petr.




More information about the lvm-devel mailing list