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

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Nov 29 20:50:48 PST 2011


commit 3cd891f0bef92e5d211330fa006be8d9319c4dd0
Author: Matthew Dillon <dillon at apollo.backplane.com>
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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3cd891f0bef92e5d211330fa006be8d9319c4dd0


-- 
DragonFly BSD source repository





More information about the Commits mailing list