]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - lib/llist.c
llists: move llist_reverse_order from raid5 to llist.c
[mirror_ubuntu-artful-kernel.git] / lib / llist.c
index 4a70d120138cc684eb633ad93c8abedea826b20d..ef48b87247ec0fec1b3cb19d28c35652e5d6c6fd 100644 (file)
@@ -81,3 +81,25 @@ struct llist_node *llist_del_first(struct llist_head *head)
        return entry;
 }
 EXPORT_SYMBOL_GPL(llist_del_first);
+
+/**
+ * llist_reverse_order - reverse order of a llist chain
+ * @head:      first item of the list to be reversed
+ *
+ * Reverse the oder of a chain of llist entries and return the
+ * new first entry.
+ */
+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;
+}
+EXPORT_SYMBOL_GPL(llist_reverse_order);