remarkable-linux/fs/btrfs
Chris Mason 87ef2bb46b Btrfs: prevent looping forever in finish_current_insert and del_pending_extents
finish_current_insert and del_pending_extents process extent tree modifications
that build up while we are changing the extent tree.  It is a confusing
bit of code that prevents recursion.

Both functions run through a list of pending operations and both funcs
add to the list of pending operations.  If you have two procs in either
one of them, they can end up looping forever making more work for each other.

This patch makes them walk forward through the list of pending changes instead
of always trying to process the entire list.  At transaction commit
time, we catch any changes that were left over.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
2008-10-30 11:23:27 -04:00
..
acl.c Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
async-thread.c Btrfs: fix multi-device code to use raid policies set by mkfs 2008-09-30 19:36:34 -04:00
async-thread.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
btrfs_inode.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
compat.h Remove Btrfs compat code for older kernels 2008-09-25 15:41:59 -04:00
compression.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
compression.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
COPYING Btrfs: add GPLv2 2007-06-12 09:07:21 -04:00
crc32c.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
ctree.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
ctree.h Btrfs: Add root tree pointer transaction ids 2008-10-29 14:49:05 -04:00
dir-item.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
disk-io.c Btrfs: Add root tree pointer transaction ids 2008-10-29 14:49:05 -04:00
disk-io.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
export.c Remove Btrfs compat code for older kernels 2008-09-25 15:41:59 -04:00
export.h NFS support for btrfs - v3 2008-09-25 11:04:06 -04:00
extent-tree.c Btrfs: prevent looping forever in finish_current_insert and del_pending_extents 2008-10-30 11:23:27 -04:00
extent_io.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
extent_io.h Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
extent_map.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
extent_map.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
file-item.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
file.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
free-space-cache.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
hash.h Switch btrfs_name_hash() to crc32c 2008-09-25 11:04:06 -04:00
inode-item.c Btrfs: Implement new dir index format 2008-09-25 11:04:05 -04:00
inode-map.c Btrfs: extent_map and data=ordered fixes for space balancing 2008-09-26 10:05:38 -04:00
inode.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
INSTALL Btrfs: Documentation update 2007-06-22 14:49:31 -04:00
ioctl.c Btrfs: Add root tree pointer transaction ids 2008-10-29 14:49:05 -04:00
ioctl.h Btrfs: transaction ioctls 2008-09-25 11:04:03 -04:00
locking.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
locking.h btrfs_search_slot: reduce lock contention by cowing in two stages 2008-09-25 11:04:06 -04:00
Makefile Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
ordered-data.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
ordered-data.h Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
orphan.c Btrfs: Create orphan inode records to prevent lost files after a crash 2008-09-25 11:04:05 -04:00
print-tree.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
print-tree.h Btrfs: Create extent_buffer interface for large blocksizes 2008-09-25 11:03:56 -04:00
ref-cache.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
ref-cache.h Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
root-tree.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
struct-funcs.c Btrfs: add and improve comments 2008-09-29 15:18:18 -04:00
super.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00
sysfs.c Remove Btrfs compat code for older kernels 2008-09-25 15:41:59 -04:00
transaction.c Btrfs: prevent looping forever in finish_current_insert and del_pending_extents 2008-10-30 11:23:27 -04:00
transaction.h Btrfs: Record dirty pages tree-log pages in an extent_io tree 2008-09-25 11:04:07 -04:00
tree-defrag.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
tree-log.c Btrfs: Add root tree pointer transaction ids 2008-10-29 14:49:05 -04:00
tree-log.h Btrfs: Add a write ahead tree log to optimize synchronous operations 2008-09-25 11:04:07 -04:00
version.h Update Btrfs files for in-kernel usage 2008-09-25 15:41:59 -04:00
version.sh Btrfs: Update version.sh to v0.16 2008-09-25 11:04:06 -04:00
volumes.c Btrfs: nuke fs wide allocation mutex V2 2008-10-29 14:49:05 -04:00
volumes.h Btrfs: Fix the multi-bio code to save the original bio for completion 2008-09-25 11:04:06 -04:00
xattr.c Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
xattr.h Btrfs: optimize btrget/set/removexattr 2008-09-25 11:04:07 -04:00
zlib.c Btrfs: Add zlib compression support 2008-10-29 14:49:59 -04:00