Btrfs: fix wrong reserved space in qgroup during snap/subv creation
authorMiao Xie <miaox@cn.fujitsu.com>
Thu, 28 Feb 2013 10:04:33 +0000 (10:04 +0000)
committerJosef Bacik <jbacik@fusionio.com>
Thu, 28 Feb 2013 18:33:54 +0000 (13:33 -0500)
commitd5c1207017cd8387b4d3224dd7ab6cf5cd7f1c9a
tree7208d1c89aa625fa6eb349fdafa2e49a00bbe078
parente9662f701c85ebc99f532bf8bb53208c0648846a
Btrfs: fix wrong reserved space in qgroup during snap/subv creation

There are two problems in the space reservation of the snapshot/
subvolume creation.
- don't reserve the space for the root item insertion
- the space which is reserved in the qgroup is different with
  the free space reservation. we need reserve free space for
  7 items, but in qgroup reservation, we need reserve space only
  for 3 items.

So we implement new metadata reservation functions for the
snapshot/subvolume creation.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/ctree.h
fs/btrfs/extent-tree.c
fs/btrfs/ioctl.c
fs/btrfs/transaction.c
fs/btrfs/transaction.h