btrfs/139: creation/deletion within qgroup limits
authorGoldwyn Rodrigues <rgoldwyn@suse.com>
Tue, 14 Mar 2017 17:30:26 +0000 (12:30 -0500)
committerEryu Guan <eguan@redhat.com>
Wed, 15 Mar 2017 10:55:38 +0000 (18:55 +0800)
commitc26958bc5d67991c2aee01af8a686fcbec8ed059
tree6b8fd124edc460cc0c939b65f3be305e1f501991
parentde88e28a1d3330760616bc8c08e269a18b3af869
btrfs/139: creation/deletion within qgroup limits

If we create and delete files within the qgroup limits, qg->reserved
(allocations before commits) over-inflates and causes -EDQUOT to be
returned pre-maturely.

Also, 32/64bit data-type exchanges can cause reserved (u64) to go
negative (very large) and -EDQUOT is returned pre-maturely.

Will be fixed by patches with subjects:
btrfs: Retry after commit on getting EDQUOT
btrfs: Change qgroup_meta_rsv to 64bit

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/btrfs/139 [new file with mode: 0755]
tests/btrfs/139.out [new file with mode: 0644]
tests/btrfs/group