generic/015: Change the test filesystem size to 101mb
authorNikolay Borisov <nborisov@suse.com>
Thu, 11 Jan 2018 09:17:47 +0000 (11:17 +0200)
committerEryu Guan <eguan@redhat.com>
Fri, 12 Jan 2018 03:41:00 +0000 (11:41 +0800)
commit97575acd7495b412435d06229a6d94ed9a814ada
tree9d4220b6553ca53d9d02a43b0f7fa612eaad86de
parent3651c38e0b9c7286735c9e71fcc8197f4e1566d6
generic/015: Change the test filesystem size to 101mb

This test has been failing for btrfs for quite some time, at least
since 4.7. There are 2 implementation details of btrfs that it
exposes:

1. Currently btrfs filesystem under 100mb are created in Mixed block
group mode. Freespace accounting for it is not 100% accurate - I've
observed consistent 1mb discrepancy between a newly created
filesystem, then writing a file and deleting it and checking the
free space.

2. BTRFS won't flush it's delayed allocation on file deletion if
less than 32mb are deleted. On such files we need to perform sync
(missing in the test) or wait until time elapses for transaction
commit.

In order to avoid both of the aforementioned idiosyncrasies of the
fs make the test filesystem 101mb. With this we achieve 2 things:

1. Since the filesystem is larger we can create a file larger than
32mb, so it's going to be flushed upon deletion and numbers acquired
from df will be accurate
2. We don't create the filesystem in mixed mode and also since the
1mb is less than %1 of 101mb we will fall within the tolerance of 1%

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/015