[testing] use smaller filesize on 4KB pagesize systems

Use a smaller filesize on systems that have a default 4KB pagesize.

This is because mkfs.btrfs uses the default system pagesize as blocksize
when creating a device, so if the pagesize is larger, then the file needs
to be larger as well. This larger filesize is needed specifically for
systems where 64KB is default, such as ppc64le.

Signed-off-by: Christopher Jones <tophj@linux.vnet.ibm.com>
This commit is contained in:
Christopher Jones 2018-02-14 12:52:04 -06:00
parent 002cabade8
commit 6e3701141b
No known key found for this signature in database
GPG Key ID: 9675B4D446658DE9

View File

@ -29,7 +29,14 @@ func boltSnapshotter(t *testing.T) func(context.Context, string) (snapshots.Snap
return func(ctx context.Context, root string) (snapshots.Snapshotter, func() error, error) {
deviceName, cleanupDevice, err := testutil.NewLoopback(650 << 20) // 650 MB
loopbackSize := int64(100 << 20) // 100 MB
// mkfs.btrfs creates a fs which has a blocksize equal to the system default pagesize. If that pagesize
// is > 4KB, mounting the fs will fail unless we increase the size of the file used by mkfs.btrfs
if os.Getpagesize() > 4096 {
loopbackSize = int64(650 << 20) // 650 MB
}
deviceName, cleanupDevice, err := testutil.NewLoopback(loopbackSize)
if err != nil {
return nil, nil, err
}