diff options
author | Chris Mason <chris.mason@oracle.com> | 2012-06-01 00:50:28 +0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2012-06-01 00:49:53 +0400 |
commit | 1e20932a23578bb1ec59107843574e259b96193f (patch) | |
tree | 844ae54293c4414fc4c232a36d0e4d4939dc35aa /fs/btrfs/ulist.h | |
parent | cfc442b69696b593cb442f09997dcb4cb5748171 (diff) | |
parent | c31931088fd6cf953bd0868a2647b6c3928e6c96 (diff) | |
download | linux-1e20932a23578bb1ec59107843574e259b96193f.tar.xz |
Merge branch 'for-chris' of git://git.jan-o-sch.net/btrfs-unstable into for-linus
Conflicts:
fs/btrfs/ulist.h
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/ulist.h')
-rw-r--r-- | fs/btrfs/ulist.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/fs/btrfs/ulist.h b/fs/btrfs/ulist.h index 6568c3527732..21bdc8ec8130 100644 --- a/fs/btrfs/ulist.h +++ b/fs/btrfs/ulist.h @@ -24,6 +24,10 @@ */ #define ULIST_SIZE 16 +struct ulist_iterator { + int i; +}; + /* * element of the list */ @@ -61,7 +65,13 @@ void ulist_fini(struct ulist *ulist); void ulist_reinit(struct ulist *ulist); struct ulist *ulist_alloc(gfp_t gfp_mask); void ulist_free(struct ulist *ulist); -int ulist_add(struct ulist *ulist, u64 val, unsigned long aux, gfp_t gfp_mask); -struct ulist_node *ulist_next(struct ulist *ulist, struct ulist_node *prev); +int ulist_add(struct ulist *ulist, u64 val, unsigned long aux, + gfp_t gfp_mask); +int ulist_add_merge(struct ulist *ulist, u64 val, unsigned long aux, + unsigned long *old_aux, gfp_t gfp_mask); +struct ulist_node *ulist_next(struct ulist *ulist, + struct ulist_iterator *uiter); + +#define ULIST_ITER_INIT(uiter) ((uiter)->i = 0) #endif |