> +struct llist_node *llist_reverse_order(struct llist_node *head) > +{ > + struct llist_node *second, *third; > + > + if (head == NULL || head->next == NULL) > + return head; > + second = head->next; > + head->next = NULL; > + > + do { > + third = second->next; > + second->next = head; > + > + head = second; > + second = third; > + } while (second); > + > + return head; > +} > +EXPORT_SYMBOL_GPL(llist_reverse_order); This is somewhat longer that necessary. struct llist_node *llist_reverse_order(struct llist_node *head) { struct llist_node *new_head = NULL; while (head) { struct llist_node *tmp = head; head = head->next; tmp->next = new_head; new_head = tmp; } return new_head; } I think that is short enough to just open-code in the top of release_stripe_list. Are you OK with that? NeilBrown
Attachment:
signature.asc
Description: PGP signature