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