]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: use reserved space for creating a snapshot
authorLiu Bo <bo.li.liu@oracle.com>
Fri, 22 Feb 2013 04:33:36 +0000 (04:33 +0000)
committerJosef Bacik <jbacik@fusionio.com>
Tue, 26 Feb 2013 16:00:52 +0000 (11:00 -0500)
commitb35da76f4edc9997b6cd3434946214a7b3ac3261
tree2ab34c510bd3603c8ad00315ea5521351824f1a8
parent7e7060c470eaae89aa1295c01013209072a91033
Btrfs: use reserved space for creating a snapshot

While inserting dir index and updating inode for a snapshot, we'd
add delayed items which consume trans->block_rsv, if we don't have
any space reserved in this trans handle, we either just return or
reserve space again.

But before creating pending snapshots during committing transaction,
we've done a release on this trans handle, so we don't have space reserved
in it at this stage.

What we're using is block_rsv of pending snapshots which has already
reserved well enough space for both inserting dir index and updating
inode, so we need to set trans handle to indicate that we have space
now.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/transaction.c