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>
This commit is contained in:
Goldwyn Rodrigues
2017-03-14 12:30:26 -05:00
committed by Eryu Guan
parent de88e28a1d
commit c26958bc5d
3 changed files with 96 additions and 0 deletions
+1
View File
@@ -141,3 +141,4 @@
136 auto convert
137 auto quick send
138 auto compress
139 auto qgroup