diff options
author | Goldwyn Rodrigues <rgoldwyn@suse.com> | 2017-03-14 05:25:09 -0500 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-03-29 14:29:08 +0200 |
commit | ce0dcee626c482183b42d45b6ea43198c7223fc7 (patch) | |
tree | c3f9bf304edd911f25f5c26f73039f3e471afed2 /fs/fscache | |
parent | 9d0d1c8b1c9d80b17cfa86ecd50c8933a742585c (diff) |
btrfs: Change qgroup_meta_rsv to 64bit
Using an int value is causing qg->reserved to become negative and
exclusive -EDQUOT to be reached prematurely.
This affects exclusive qgroups only.
TEST CASE:
DEVICE=/dev/vdb
MOUNTPOINT=/mnt
SUBVOL=$MOUNTPOINT/tmp
umount $SUBVOL
umount $MOUNTPOINT
mkfs.btrfs -f $DEVICE
mount /dev/vdb $MOUNTPOINT
btrfs quota enable $MOUNTPOINT
btrfs subvol create $SUBVOL
umount $MOUNTPOINT
mount /dev/vdb $MOUNTPOINT
mount -o subvol=tmp $DEVICE $SUBVOL
btrfs qgroup limit -e 3G $SUBVOL
btrfs quota rescan /mnt -w
for i in `seq 1 44000`; do
dd if=/dev/zero of=/mnt/tmp/test_$i bs=10k count=1
if [[ $? > 0 ]]; then
btrfs qgroup show -pcref $SUBVOL
exit 1
fi
done
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
[ add reproducer to changelog ]
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/fscache')
0 files changed, 0 insertions, 0 deletions