diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-04 13:41:49 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2020-12-04 13:45:33 -0500 |
commit | db931a4571817d7d61be6bce306f1d42f7cd3398 (patch) | |
tree | c1ac421486b5f85b487e82ab2b4de47608110c33 /include/linux/list.h | |
parent | d7fdc2b61e57985a4611ec3a591c002427e093d9 (diff) |
Update bcachefs sources to e1d0fb8c5f bcachefs: Don't require flush/fua on every journal write
Diffstat (limited to 'include/linux/list.h')
-rw-r--r-- | include/linux/list.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/list.h b/include/linux/list.h index 4a317090..3639dc99 100644 --- a/include/linux/list.h +++ b/include/linux/list.h @@ -26,7 +26,6 @@ #define list_for_each_entry(p, h, m) cds_list_for_each_entry(p, h, m) #define list_for_each_entry_reverse(p, h, m) cds_list_for_each_entry_reverse(p, h, m) #define list_for_each_entry_safe(p, n, h, m) cds_list_for_each_entry_safe(p, n, h, m) -#define list_for_each_entry_safe_reverse(p, n, h, m) cds_list_for_each_entry_safe_reverse(p, n, h, m) static inline int list_empty_careful(const struct list_head *head) { @@ -54,6 +53,15 @@ static inline void list_splice_init(struct list_head *list, #define list_first_entry_or_null(ptr, type, member) \ (!list_empty(ptr) ? list_first_entry(ptr, type, member) : NULL) +#define list_prev_entry(pos, member) \ + list_entry((pos)->member.prev, typeof(*(pos)), member) + +#define list_for_each_entry_safe_reverse(pos, n, head, member) \ + for (pos = list_last_entry(head, typeof(*pos), member), \ + n = list_prev_entry(pos, member); \ + &pos->member != (head); \ + pos = n, n = list_prev_entry(n, member)) + /* hlists: */ #include <urcu/hlist.h> |