Btrfs: fix missing qgroup reservation before fallocating
authorWang Shilong <wangsl-fnst@cn.fujitsu.com>
Tue, 19 Mar 2013 10:57:14 +0000 (10:57 +0000)
committerChris Mason <chris.mason@fusionio.com>
Thu, 21 Mar 2013 23:24:32 +0000 (19:24 -0400)
commit6113077cd319e747875ec71227d2b5cb54e08c76
treedca81060451d10a7c2904ad7802d3cadbe4b65a5
parent835d974fabfa9bff4d173ad03c054ac2f673263f
Btrfs: fix missing qgroup reservation before fallocating

Steps to reproduce:
mkfs.btrfs <disk>
mount <disk> <mnt>
btrfs quota enable <mnt>
btrfs sub create <mnt>/subv
btrfs qgroup limit 10M <mnt>/subv
fallocate --length 20M <mnt>/subv/data

For the above example, fallocating will return successfully which
is not expected, we try to fix it by doing qgroup reservation before
fallocating.

Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
Reviewed-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/file.c