Kent,

here is another update.  Changes:

* Added a self test for eytzinger0_find().

* The patches are now in fully bisectable order, with slightly improved
  patch descriptions.

* The patch that runs the self tests on modprobe has been moved to the
  end of the patch queue.  This patch is useful for testing, but it
  SHOULD NOT BE MERGED.


A git tree of the patches can again be found here:

  
https://git.kernel.org/pub/scm/linux/kernel/git/agruen/linux.git/log/?h=bcachefs

Base: v6.13
Head: d79258df8791 ("bcachefs: Run the eytzinger tests on modprobe")


The previous CI test results at:

  https://evilpiepirate.org/~testdashboard/ci?user=kmo&branch=eytzinger

against the previous version of this patch queue and with head:

  94865378e1a3 ("bcachefs: eytzinger1_{next,prev} cleanup")

show a large number of passed as well as failed tests even for upstream
v6.13, so I don't know what to conclude from that.

In any case, there is one failure reporting that eytzinger0_find_ge()
didn't find the first matching element in an array with duplicate
elements:

  
https://evilpiepirate.org/~testdashboard/ci?user=kmo&branch=eytzinger&commit=c31c7c659278bc2581ef0c7c4119fe14c7476ea3

This is imtentional and expected because at this point in the patch
queue, eytzinger0_find_ge() hasn't been fixed to always return the first
matching element.  The current version of the patch queue adds the fix
before adding the test, so this failure will be gone.

That being said, as per request, the updated patch queue only enables
the self tests in the last patch, so we wouldn't see failures of that
kind anymore, anyway.


Thanks,
Andreas


Andreas Gruenbacher (21):
  bcachefs: bch2_blacklist_entries_gc cleanup
  bcachefs: EYTZINGER_DEBUG fix
  bcachefs: eytzinger self tests: loop cleanups
  bcachefs: eytzinger self tests: missing newline termination
  bcachefs: eytzinger self tests: fix cmp_u16 typo
  bcachefs: eytzinger[01]_test improvement
  bcachefs: eytzinger0_find_test improvement
  bcachefs: add eytzinger0_for_each_prev
  bcachefs: improve eytzinger0_find_le self test
  bcachefs: convert eytzinger0_find_le to be 1-based
  bcachefs: simplify eytzinger0_find_le
  bcachefs: add eytzinger0_find_gt self test
  bcachefs: implement eytzinger0_find_gt directly
  bcachefs: implement eytzinger0_find_ge directly
  bcachefs: add eytzinger0_find_ge self test
  bcachefs: Add eytzinger0_find self test
  bcachefs: convert eytzinger0_find to be 1-based
  bcachefs: convert eytzinger sort to be 1-based (1)
  bcachefs: convert eytzinger sort to be 1-based (2)
  bcachefs: eytzinger1_{next,prev} cleanup
  bcachefs: Run the eytzinger tests on modprobe

 fs/bcachefs/eytzinger.c             |  88 ++++++------
 fs/bcachefs/eytzinger.h             |  99 ++++++-------
 fs/bcachefs/journal_seq_blacklist.c |   7 +-
 fs/bcachefs/super.c                 |   5 +
 fs/bcachefs/util.c                  | 212 ++++++++++++++++++++++------
 fs/bcachefs/util.h                  |   4 +
 6 files changed, 269 insertions(+), 146 deletions(-)

-- 
2.48.1


Reply via email to