projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for Ceph Rados benchmarking.
[fio.git]
/
flist.h
diff --git
a/flist.h
b/flist.h
index 938ce1d8317378e18b5824128ac7c4b37f4ff893..2ca3d7771232b6d3031d3c73cff118ef2c5dbd50 100644
(file)
--- a/
flist.h
+++ b/
flist.h
@@
-2,13
+2,7
@@
#define _LINUX_FLIST_H
#include <stdlib.h>
#define _LINUX_FLIST_H
#include <stdlib.h>
-
-#undef offsetof
-#ifdef __compiler_offsetof
-#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
-#else
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
+#include <stddef.h>
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
@@
-147,6
+141,15
@@
static inline void flist_splice_tail(struct flist_head *list,
__flist_splice(list, head->prev, head);
}
__flist_splice(list, head->prev, head);
}
+static inline void flist_splice_tail_init(struct flist_head *list,
+ struct flist_head *head)
+{
+ if (!flist_empty(list)) {
+ __flist_splice(list, head->prev, head);
+ INIT_FLIST_HEAD(list);
+ }
+}
+
static inline void flist_splice_init(struct flist_head *list,
struct flist_head *head)
{
static inline void flist_splice_init(struct flist_head *list,
struct flist_head *head)
{
@@
-165,6
+168,12
@@
static inline void flist_splice_init(struct flist_head *list,
#define flist_entry(ptr, type, member) \
container_of(ptr, type, member)
#define flist_entry(ptr, type, member) \
container_of(ptr, type, member)
+#define flist_first_entry(ptr, type, member) \
+ flist_entry((ptr)->next, type, member)
+
+#define flist_last_entry(ptr, type, member) \
+ flist_entry((ptr)->prev, type, member)
+
/**
* flist_for_each - iterate over a list
* @pos: the &struct flist_head to use as a loop counter.
/**
* flist_for_each - iterate over a list
* @pos: the &struct flist_head to use as a loop counter.