NeilBrown
90f9dd8f72
[PATCH] Fix over-zealous tag clearing in radix_tree_delete
...
If a tag is set for a node being deleted from a radix_tree, then that
tag gets cleared from the parent of the node, even if it is set for some
siblings of the node begin deleted.
This patch changes the logic to include a test for any_tag_set similar
to the logic a little futher down. Care is taken to ensure that
'nr_cleared_tags' remains equals to the number of entries in the 'tags'
array which are set to '0' (which means that this tag is not set in the
tree below pathp->node, and should be cleared at pathp->node and
possibly above.
[ Nick says: "Linus FYI, I was able to modify the radix tree test
harness to catch the bug and can no longer trigger it after the fix.
Resulting code passes all other harness tests as well of course." ]
Signed-off-by: Neil Brown <neilb@suse.de>
Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-16 08:45:50 -08:00
..
reed_solomon
[LIB] reed_solomon: Clean up trailing white spaces
2005-11-07 14:25:38 +01:00
zlib_deflate
[PATCH] lib/zlib*: cleanups
2006-01-10 08:01:57 -08:00
zlib_inflate
[PATCH] lib/zlib*: cleanups
2006-01-10 08:01:57 -08:00
.gitignore
Add some basic .gitignore files
2005-10-18 08:26:15 -07:00
bitmap.c
[PATCH] cpuset: better bitmap remap defaults
2006-01-08 20:13:42 -08:00
bust_spinlocks.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cmdline.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
crc-ccitt.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
crc16.c
[PATCH] lib/crc16: added crc16 algorithm.
2005-09-08 14:41:27 -07:00
crc32.c
[PATCH] crc32.c typo fix
2005-08-07 10:00:40 -07:00
crc32defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ctype.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dec_and_lock.c
[PATCH] atomic: dec_and_lock use atomic primitives
2006-01-08 20:13:48 -08:00
div64.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dump_stack.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
errno.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
extable.c
[PATCH] extable: remove needless declaration
2005-10-30 17:37:26 -08:00
find_next_bit.c
[PATCH] frv: implement and export various things required by modules
2006-01-08 20:13:36 -08:00
gen_crc32table.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
genalloc.c
[PATCH] fix broken lib/genalloc.c
2005-11-28 14:42:23 -08:00
halfmd4.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
idr.c
[PATCH] Whitespace and CodingStyle cleanup for lib/idr.c
2005-10-30 17:37:19 -08:00
inflate.c
[PATCH] Update in-kernel zlib routines
2005-08-05 16:23:21 -07:00
int_sqrt.c
[PATCH] lib: Fix bug in int_sqrt() for 64 bit longs
2006-02-03 08:32:08 -08:00
iomap.c
[PATCH] add Big Endian variants of ioread/iowrite
2005-04-16 15:25:54 -07:00
iomap_copy.c
[PATCH] Introduce __iowrite32_copy
2006-02-01 08:53:13 -08:00
Kconfig
[PATCH] lib/crc16: added crc16 algorithm.
2005-09-08 14:41:27 -07:00
Kconfig.debug
[PATCH] When CONFIG_CC_OPTIMIZE_FOR_SIZE, allow gcc4 to control inlining
2006-01-14 18:27:16 -08:00
kernel_lock.c
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
klist.c
[PATCH] klist: Fix broken kref counting in find functions
2006-01-04 16:18:08 -08:00
kobject.c
[PATCH] kobject: don't oops on null kobject.name
2006-02-06 12:17:17 -08:00
kobject_uevent.c
[PATCH] Fix uevent buffer overflow in input layer
2006-02-06 12:17:18 -08:00
kref.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
libcrc32c.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
Makefile
[PATCH] Introduce __iowrite32_copy
2006-02-01 08:53:13 -08:00
parser.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
prio_tree.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
radix-tree.c
[PATCH] Fix over-zealous tag clearing in radix_tree_delete
2006-02-16 08:45:50 -08:00
rbtree.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rwsem-spinlock.c
[PATCH] use smp_mb/wmb/rmb where possible
2005-05-01 08:58:47 -07:00
rwsem.c
[PATCH] use smp_mb/wmb/rmb where possible
2005-05-01 08:58:47 -07:00
semaphore-sleepers.c
[PATCH] unify x86/x86-64 semaphore code
2005-09-05 00:06:14 -07:00
sha1.c
[PATCH] lib/sha1.c: fix sparse warning
2005-06-25 16:25:02 -07:00
smp_processor_id.c
[PATCH] fix missing includes
2005-10-30 17:37:32 -08:00
sort.c
[PATCH] fix missing includes
2005-10-30 17:37:32 -08:00
spinlock_debug.c
[PATCH] Fix spinlock debugging delays to not time out too early
2006-02-07 16:12:33 -08:00
string.c
[PATCH] lib/string.c cleanup: restore useful memmove const
2005-10-30 17:37:27 -08:00
swiotlb.c
[PATCH] x86_64: Use function pointers to call DMA mapping functions
2006-01-11 19:04:55 -08:00
textsearch.c
[PATCH] gfp_t: lib/*
2005-10-28 08:16:47 -07:00
ts_bm.c
[TEXTSEARCH]: Fix broken good shift array calculation in Boyer-Moore
2006-02-02 17:15:41 -08:00
ts_fsm.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
ts_kmp.c
[PATCH] gfp flags annotations - part 1
2005-10-08 15:00:57 -07:00
vsprintf.c
[PATCH] fix missing includes
2005-10-30 17:37:32 -08:00