Cut a list into two
void list_cut_position(struct list_head * list, struct list_head * head, struct list_head * entry);
list
a new list to add all removed entries
head
a list with entries
entry
an entry within head, could be the head itself and if so we won't cut the list
This helper moves the initial part of head, up to and including entry, from head to list. You should pass on entry an element you know is on head. list should be an empty list or a list you do not care about losing its data.