Introduce list_for_each_entry_reverse_from() needed by a subsequent patch. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> --- include/linux/list.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) --- a/include/linux/list.h +++ b/include/linux/list.h @@ -562,6 +562,19 @@ static inline void list_splice_init_rcu( pos = list_entry(pos->member.next, typeof(*pos), member)) /** + * list_for_each_entry_reverse_from - iterate backwards over list of given + * type from the current point + * @pos: the type * to use as a loop cursor. + * @head: the head for your list. + * @member: the name of the list_struct within the struct. + * + * Iterate backwards over list of given type, continuing from current position. + */ +#define list_for_each_entry_reverse_from(pos, head, member) \ + for (; prefetch(pos->member.prev), &pos->member != (head); \ + pos = list_entry(pos->member.prev, typeof(*pos), member)) + +/** * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html