1
linux/fs/btrfs
Josef Bacik 9c8d86db9a Btrfs: make sure to unset trans->block_rsv before running delayed refs
Checksums are charged in 2 different ways.  The first case is when we're writing
to the disk, we account for the new checksums with the delalloc block rsv.  In
order for this to work we check if we're allocating a block for the csum root
and if trans->block_rsv == the delalloc block rsv.  But when we're deleting the
csums because of cow, this is charged to the global block rsv, and is done when
we run the delayed refs.  So we need to make sure that trans->block_rsv == NULL
when running the delayed refs.  So set it to NULL and reset it in
should_end_transaction, and set it to NULL in commit_transaction.  This got rid
of the ridiculous amount of warnings I was seeing when trying to do a balance.
Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
2011-10-19 15:12:44 -04:00
..
acl.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-08-02 21:14:05 -10:00
async-thread.c
async-thread.h
btrfs_inode.h Btrfs: calculate checksum space correctly 2011-10-19 15:12:31 -04:00
compat.h
compression.c Btrfs: check the nodatasum flag when writing compressed files 2011-08-01 14:30:46 -04:00
compression.h
ctree.c Btrfs: remove lockdep magic from btrfs_next_leaf 2011-07-27 12:46:47 -04:00
ctree.h Btrfs: stop passing a trans handle all around the reservation code 2011-10-19 15:12:44 -04:00
delayed-inode.c Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
delayed-inode.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
delayed-ref.c
delayed-ref.h
dir-item.c Btrfs: remove redundant code for dir item lookup 2011-08-01 14:30:48 -04:00
disk-io.c Btrfs: put the block group cache after we commit the super 2011-10-19 15:12:41 -04:00
disk-io.h Btrfs: make a lockdep class for each root 2011-07-27 12:46:46 -04:00
export.c
export.h
extent_io.c Btrfs: skip looking for delalloc if we don't have ->fill_delalloc 2011-10-19 15:12:30 -04:00
extent_io.h Btrfs: remove unused members from struct extent_state 2011-08-01 14:30:50 -04:00
extent_map.c Btrfs: clean up code for merging extent maps 2011-08-01 14:30:50 -04:00
extent_map.h
extent-tree.c Btrfs: stop passing a trans handle all around the reservation code 2011-10-19 15:12:44 -04:00
file-item.c Btrfs: skip locking if searching the commit root in csum lookup 2011-09-11 10:52:24 -04:00
file.c Btrfs: only reserve space in fallocate if we have to do a preallocate 2011-10-19 15:12:36 -04:00
free-space-cache.c Btrfs: stop passing a trans handle all around the reservation code 2011-10-19 15:12:44 -04:00
free-space-cache.h
hash.h
inode-item.c
inode-map.c Btrfs: handle enospc accounting for free space inodes 2011-10-19 15:12:42 -04:00
inode-map.h
inode.c Btrfs: stop passing a trans handle all around the reservation code 2011-10-19 15:12:44 -04:00
ioctl.c Merge branch 'btrfs-3.0' into for-linus 2011-09-20 14:49:29 -04:00
ioctl.h
Kconfig
locking.c Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
locking.h Btrfs: switch the btrfs tree locks to reader/writer 2011-07-27 12:46:46 -04:00
lzo.c
Makefile Btrfs: make acl functions really no-op if acl is not enabled 2011-08-01 14:30:48 -04:00
ordered-data.c
ordered-data.h
orphan.c
print-tree.c
print-tree.h
relocation.c Btrfs: stop passing a trans handle all around the reservation code 2011-10-19 15:12:44 -04:00
root-tree.c btrfs: make btrfs_set_root_node void 2011-08-01 14:30:44 -04:00
scrub.c btrfs: remove unneeded includes from scrub.c 2011-06-10 14:59:52 +02:00
struct-funcs.c Btrfs: stop using highmem for extent_buffers 2011-07-27 12:46:45 -04:00
super.c Btrfs: fix how we mount subvol=<whatever> 2011-10-19 15:12:29 -04:00
sysfs.c btrfs: Remove unused sysfs code 2011-06-17 14:54:18 -04:00
transaction.c Btrfs: make sure to unset trans->block_rsv before running delayed refs 2011-10-19 15:12:44 -04:00
transaction.h Merge branch 'for-chris' of 2011-05-28 07:00:39 -04:00
tree-defrag.c
tree-log.c Btrfs: fix an oops of log replay 2011-08-16 21:09:15 -04:00
tree-log.h
version.h
volumes.c Btrfs: fix uninitialized sync_pending 2011-08-16 21:09:31 -04:00
volumes.h Btrfs: detect wether a device supports discard 2011-08-16 21:09:15 -04:00
xattr.c btrfs: xattr: fix attribute removal 2011-09-11 10:52:25 -04:00
xattr.h
zlib.c