summaryrefslogtreecommitdiff
path: root/include/linux/list.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-02-20 18:55:08 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-02-20 20:03:34 -0500
commitda6a35689518599b381c285cd9505ab8d58f7c73 (patch)
tree20ae5acb9ca8f8a89a45aa52a092be8d13f29d74 /include/linux/list.h
parent46a6b9210c927ab46fd1227cb6f641be0b4a7505 (diff)
Update bcachefs sources to 8e1519ccb6 bcachefs: Add tracepoint & counter for btree split race
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'include/linux/list.h')
-rw-r--r--include/linux/list.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/list.h b/include/linux/list.h
index dcc4745f..9b2aa07d 100644
--- a/include/linux/list.h
+++ b/include/linux/list.h
@@ -70,4 +70,19 @@ static inline void list_splice_init(struct list_head *list,
#define hlist_head cds_hlist_head
#define hlist_node cds_hlist_node
+#define hlist_add_head(n, h) cds_hlist_add_head(n, h)
+#define hlist_del(n) cds_hlist_del(n)
+
+#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
+
+#define hlist_entry_safe(ptr, type, member) \
+ ({ typeof(ptr) ____ptr = (ptr); \
+ ____ptr ? hlist_entry(____ptr, type, member) : NULL; \
+ })
+
+#define hlist_for_each_entry(pos, head, member) \
+ for (pos = hlist_entry_safe((head)->next, typeof(*(pos)), member);\
+ pos; \
+ pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
+
#endif /* _LIST_LIST_H */