On Mon, Dec 11, 2023 at 03:32:23PM +0200, Andrey Drobyshev wrote:
> There're tests whose logic implies running without O_DIRECT set,
> otherwise they fail when running iotests in '-nocache' mode. For these
> tests let's add _require_no_o_direct() helper which can be put in the
> preabmle and which makes sure '-nocache' isn't set. Use it to skip
preamble
> running the following tests:
>
> * 271: creates files with unaligned sizes, thus producing multiple
> errors like:
>
> qemu-io: can't open device /path/to/t.qcow2.raw: Cannot get 'write'
> permission without 'resize': Image size is not a multiple of request alignment
I wonder if we can instead tweak the test to use larger sizes such
that all accesses ARE aligned even with O_DIRECT.
/me goes and reads the test...
# Note that the image size is not a multiple of the cluster size
_reset_img 2083k
Ah - we really DO have a test that depends on odd sizing; where
changing it to be more nicely aligned will break other assumptions in
the test.
>
> * 308, file-io-error: use fuse exports. Though fuse does have
> 'direct-io' mode (see https://docs.kernel.org/filesystems/fuse-io.html)
> we aren't using it yet, thus getting errors like:
>
> qemu-io: can't open device /path/to/t.qcow2.fuse: Could not open
> '/path/to/t.qcow2.fuse': filesystem does not support O_DIRECT
And I agree that this one is beyond our control, so adding skip
support makes sense.
>
> Signed-off-by: Andrey Drobyshev <[email protected]>
> ---
> tests/qemu-iotests/271 | 1 +
> tests/qemu-iotests/308 | 2 ++
> tests/qemu-iotests/common.rc | 7 +++++++
> tests/qemu-iotests/tests/file-io-error | 1 +
> 4 files changed, 11 insertions(+)
Reviewed-by: Eric Blake <[email protected]>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org