git: HAMMER VFS - Hack cursor iterator when unlocked cursor moved to parent
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Mar 15 10:51:20 PDT 2010
commit 6dc17446feb14cbca471e4eecf2519d215f5054d
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sat Mar 13 21:16:38 2010 -0800
HAMMER VFS - Hack cursor iterator when unlocked cursor moved to parent
* It is possible to reverse-index a cursor while it is unlocked due to
a node deletion moving cursors on that node to the parent, and a
subsequent insertion then inserting new elements between the cursor's
current position and its expected iteration range.
* Detect the case with a new flag (hack!) HAMMER_CURSOR_ITERATE_CHECK
and just iterate past the elements outside the iteration range in
this case.
Reported-by: YONETANI Tomokazu <qhwt+dfly at les.ath.cx>
Summary of changes:
sys/vfs/hammer/hammer_btree.c | 89 ++++++++++++++++++++++++++++++++++-----
sys/vfs/hammer/hammer_cursor.c | 10 ++++-
sys/vfs/hammer/hammer_cursor.h | 1 +
3 files changed, 87 insertions(+), 13 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6dc17446feb14cbca471e4eecf2519d215f5054d
--
DragonFly BSD source repository
More information about the Commits
mailing list