[LTP] [PATCH v2] lib: tst_device: Allow more control over the device size
Joerg Vehlow
lkml@jv-coder.de
Tue Aug 3 06:56:32 CEST 2021
Hi Cyril,
On 8/2/2021 2:17 PM, Cyril Hrubis wrote:
> There is actually no reason for lower limit on the device size, and we
> can safely allow the tests to request smaller device than the default
> hardcoded in the library. The backing file is preallocated without
> actually writing to it as long as the underlying filesystem supports it
> so the speedup will be minimal if measurable but we will at least spare
> some space which needs to be reserved on the filesystem which is still a
> good thing.
>
> The test may end up with a device that is bigger than the requsted size
> in a case that a real device was passed to the LTP for the testrun. So
> tests should be able to cope with that and that's also the reason why
> the turning knob is still called dev_min_size.
>
> Also currently we use the dev_min_size only to increase the device size
> for a few tests so this change is safe and cannot break anything.
>
> CC: Joerg Vehlow <lkml@jv-coder.de>
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
>
> v2: Updated both places where we compute the device size as pointed out
> by Joerg
>
> lib/tst_device.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/tst_device.c b/lib/tst_device.c
> index c91c6cd55..73e70d26e 100644
> --- a/lib/tst_device.c
> +++ b/lib/tst_device.c
> @@ -278,7 +278,7 @@ int tst_dev_sync(int fd)
>
> const char *tst_acquire_loop_device(unsigned int size, const char *filename)
> {
> - unsigned int acq_dev_size = MAX(size, DEV_SIZE_MB);
> + unsigned int acq_dev_size = size ? size : DEV_SIZE_MB;
>
> if (tst_prealloc_file(filename, 1024 * 1024, acq_dev_size)) {
> tst_resm(TWARN | TERRNO, "Failed to create %s", filename);
> @@ -300,7 +300,7 @@ const char *tst_acquire_device__(unsigned int size)
> unsigned int acq_dev_size;
> uint64_t ltp_dev_size;
>
> - acq_dev_size = MAX(size, DEV_SIZE_MB);
> + acq_dev_size = size ? size : DEV_SIZE_MB;
>
> dev = getenv("LTP_DEV");
>
Thanks, looks good now. Tested with the squashfs test.
Joerg
More information about the ltp
mailing list