summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-09-19 11:58:54 -0400
committerJosef Bacik <josef@redhat.com>2011-10-19 15:12:44 -0400
commit9c8d86db9aee6f85866d480e0f9b37817264814c (patch)
tree0f191662ee322e52ed7946390b6fc4bb7c0eb130 /fs/btrfs/ctree.h
parent4a92b1b8d2810db4ea0c34616b94c0b3810fa027 (diff)
downloadblackbird-op-linux-9c8d86db9aee6f85866d480e0f9b37817264814c.tar.gz
blackbird-op-linux-9c8d86db9aee6f85866d480e0f9b37817264814c.zip
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>
Diffstat (limited to 'fs/btrfs/ctree.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud