git: kernel - Fix a few edge cases in subr_blist.c

Matthew Dillon dillon at
Tue Nov 29 20:50:48 PST 2011

commit 3cd891f0bef92e5d211330fa006be8d9319c4dd0
Author: Matthew Dillon <dillon at>
Date:   Tue Nov 29 20:41:20 2011 -0800

    kernel - Fix a few edge cases in subr_blist.c
    * In the all-allocated special case set bm_bighint to 0 instead of to
      count.  This fixes an edge case where failed allocations wind up
      traversing too much of the radix tree.
    * In the all-free special case be sure to set bm_bighint to the radix,
      higher layers check bm_bighint when recursing.  (This bug could not occur
      unless you had 4 swap devices configured).
    * Improve code documentation and minor cleanups.

Summary of changes:
 sys/kern/subr_blist.c |   66 +++++++++++++++++++++++++++++--------------------
 1 files changed, 39 insertions(+), 27 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list