[LTP] [PATCH] mkswap: make the test device size is aligned to pagesize

Cyril Hrubis
2016-08-16T12:15:52Z

Hi!
> Sorry for the vague description. To be honest, mkswap.c(util-linux) is innocent
> here. The error maker is mkswap_verify() in mkswap01.sh(ltp) testcase.
>
> The key point of problem is not only mkswap01.sh (ltp) doesn't guarantee
> test-device(LTP_DEV) size is aligned to PAGE_SIZE on all arches, but also
> it increse/decrease test-device size not aligned too.
>
> # tail -15 mkswap01.sh
> mkswap_test "" "" "$TST_DEVICE"
> mkswap_test "" "" "$TST_DEVICE" "$((DEVICE_SIZE-10000))" <---
> mkswap_test "-f" "" "$TST_DEVICE" "$((DEVICE_SIZE+10000))" <---
> ...
>
>
> As we know that mkswap.c(util-linux) format test-device to aligned with its local
> PAGE_SIZE by force. Therefore, the real 'filesize' of formated test-device will
> be decreased in that phase. But final, the testcase just compare orignal 'filesize'
> to 'diff'(swaptotal-after - swaptotal-before) and make conclusion to get PASS/FAIL.
> That makes this test result is not reliable.

Now that makes sense.

But if that is the case we still have to align down the device size to
the page size at the start of the test. Since the device can also be
passed down to the runltp script as a parameter and we cannot make any
assumptions about its size.