alistair23-linux/fs/btrfs
Yan Zheng 276e680d19 Btrfs: preserve commit_root for async caching
The async block group caching code uses the commit_root pointer
to get a stable version of the extent allocation tree for scanning.
This copy of the tree root isn't going to change and it significantly
reduces the complexity of the scanning code.

During a commit, we have a loop where we update the extent allocation
tree root.  We need to loop because updating the root pointer in
the tree of tree roots may allocate blocks which may change the
extent allocation tree.

Right now the commit_root pointer is changed inside this loop.  It
is more correct to change the commit_root pointer only after all the
looping is done.

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
2009-07-30 09:40:40 -04:00
..
acl.c Fix btrfs when ACLs are configured out 2009-06-10 11:36:43 -04:00
async-thread.c Btrfs: convert nested spin_lock_irqsave to spin_lock 2009-07-22 16:49:00 -04:00
async-thread.h Btrfs: add a priority queue to the async thread helpers 2009-04-20 15:53:08 -04:00
btrfs_inode.h Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION 2009-06-10 11:29:52 -04:00
compat.h Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code 2009-01-06 09:38:55 -05:00
compression.c Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION 2009-06-10 11:29:52 -04:00
compression.h
ctree.c Btrfs: Avoid delayed reference update looping 2009-07-24 12:42:46 -04:00
ctree.h Btrfs: preserve commit_root for async caching 2009-07-30 09:40:40 -04:00
delayed-ref.c Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
delayed-ref.h Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
dir-item.c Btrfs: leave btree locks spinning more often 2009-03-24 16:14:28 -04:00
disk-io.c Btrfs: preserve commit_root for async caching 2009-07-30 09:40:40 -04:00
disk-io.h Btrfs: leave btree locks spinning more often 2009-03-24 16:14:28 -04:00
export.c Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
export.h
extent-tree.c Btrfs: preserve commit_root for async caching 2009-07-30 09:40:40 -04:00
extent_io.c btrfs: Fix set/clear_extent_bit for 'end == (u64)-1' 2009-06-10 11:29:46 -04:00
extent_io.h Btrfs: leave btree locks spinning more often 2009-03-24 16:14:28 -04:00
extent_map.c Btrfs: kill btrfs_cache_create 2009-04-24 15:46:04 -04:00
extent_map.h
file-item.c Btrfs: leave btree locks spinning more often 2009-03-24 16:14:28 -04:00
file.c Btrfs: don't log the inode in file_write while growing the file 2009-07-02 13:41:16 -04:00
free-space-cache.c Btrfs: async block group caching 2009-07-24 09:23:39 -04:00
free-space-cache.h Btrfs: use hybrid extents+bitmap rb tree for free space 2009-07-24 09:23:30 -04:00
hash.h Btrfs: remove crc32c.h and use libcrc32c directly. 2009-06-10 11:29:53 -04:00
inode-item.c Btrfs: leave btree locks spinning more often 2009-03-24 16:14:28 -04:00
inode-map.c Btrfs: Fix a trivial warning using max() of u64 vs ULL. 2009-04-27 08:37:49 -04:00
inode.c Btrfs: adjust NULL test 2009-07-22 16:49:01 -04:00
ioctl.c Btrfs: fix the file clone ioctl for preallocated extents 2009-07-02 13:41:16 -04:00
ioctl.h Btrfs: fix ioctl arg size (userland incompatible change!) 2009-01-16 11:59:08 -05:00
Kconfig Btrfs: make btrfs acls selectable 2009-02-04 09:28:28 -05:00
locking.c Btrfs: fix typos in comments 2009-04-02 16:46:06 -04:00
locking.h Btrfs: fix spinlock assertions on UP systems 2009-03-09 11:45:38 -04:00
Makefile Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
ordered-data.c Btrfs: use WRITE_SYNC for synchronous writes 2009-04-20 15:53:08 -04:00
ordered-data.h Btrfs: add extra flushing for renames and truncates 2009-03-31 14:27:58 -04:00
orphan.c
print-tree.c Btrfs: remove of redundant btrfs_header_level 2009-07-22 16:52:13 -04:00
print-tree.h
ref-cache.c Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks 2009-02-04 09:27:02 -05:00
ref-cache.h Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks 2009-02-04 09:27:02 -05:00
relocation.c Btrfs: fix locking issue in btrfs_find_next_key 2009-07-22 09:59:00 -04:00
root-tree.c Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
struct-funcs.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
super.c Btrfs: fix -o nodatasum printk spelling 2009-06-11 09:30:13 -04:00
sysfs.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00
transaction.c Btrfs: preserve commit_root for async caching 2009-07-30 09:40:40 -04:00
transaction.h Btrfs: Mixed back reference (FORWARD ROLLING FORMAT CHANGE) 2009-06-10 11:29:46 -04:00
tree-defrag.c Btrfs: do extent allocation and reference count updates in the background 2009-03-24 16:14:25 -04:00
tree-log.c Btrfs: change how we unpin extents 2009-07-27 13:57:01 -04:00
tree-log.h Btrfs: tree logging unlink/rename fixes 2009-03-24 16:14:52 -04:00
version.h
version.sh Btrfs: Fixes for 2.6.28-rc API changes 2008-11-19 21:17:22 -05:00
volumes.c Btrfs: find smallest available device extent during chunk allocation 2009-07-24 16:41:41 -04:00
volumes.h Btrfs: avoid races between super writeout and device list updates 2009-06-10 15:17:02 -04:00
xattr.c Btrfs: selinux support 2009-02-04 09:29:13 -05:00
xattr.h Btrfs: selinux support 2009-02-04 09:29:13 -05:00
zlib.c Btrfs: Fix checkpatch.pl warnings 2009-01-05 21:25:51 -05:00