diff options
| author | Andreas Gruenbacher <agruenba@redhat.com> | 2025-01-27 17:26:05 +0100 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-03-14 21:02:13 -0400 |
| commit | dc5ceaaad81a724e7090d8709290fae36e3f2a5d (patch) | |
| tree | e1354d5e152584e10a8b751adba4789ab7b8da6c /fs/bcachefs/util.c | |
| parent | bcachefs: eytzinger0_find_test improvement (diff) | |
| download | linux-dc5ceaaad81a724e7090d8709290fae36e3f2a5d.tar.gz linux-dc5ceaaad81a724e7090d8709290fae36e3f2a5d.zip | |
bcachefs: add eytzinger0_for_each_prev
Add an eytzinger0_for_each_prev() macro for iterating through an
eytzinger array in reverse.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/util.c')
| -rw-r--r-- | fs/bcachefs/util.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/bcachefs/util.c b/fs/bcachefs/util.c index 4114e5264965..ebe3b5b1e615 100644 --- a/fs/bcachefs/util.c +++ b/fs/bcachefs/util.c @@ -769,6 +769,15 @@ void eytzinger0_test(void) inorder++; } BUG_ON(inorder != size); + + inorder = size - 1; + eytzinger0_for_each_prev(eytz, size) { + BUG_ON(eytz != eytzinger0_first(size) && + eytzinger0_next(eytzinger0_prev(eytz, size), size) != eytz); + + inorder--; + } + BUG_ON(inorder != -1); } } |
