]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/linux/list.h
Update bcachefs sources to 8e1519ccb6 bcachefs: Add tracepoint & counter for btree...
[bcachefs-tools-debian] / include / linux / list.h
index dcc4745f8d2a4cca213a947c835899af92727352..9b2aa07d99ec4a8eb509e0ec75f1f5c8ed82eb13 100644 (file)
@@ -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 */