All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Palethorpe <rpalethorpe@suse.de>
To: Petr Vorel <pvorel@suse.cz>
Cc: Andrea Cervesato <acervesato@suse.de>, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH 1/1] aiocp.c: TCONF on O_DIRECT on tmpfs
Date: Mon, 09 Jan 2023 11:19:41 +0000	[thread overview]
Message-ID: <87358kj60p.fsf@suse.de> (raw)
In-Reply-To: <Y6Xy82HDbgARCeQr@pevik>

Hello,

Petr Vorel <pvorel@suse.cz> writes:

>> Hi!
>> > > hm, it looks like it requires to skip tmpfs, as all tests TCONF:
>> > > aiocp.c:231: TINFO: Maximum AIO blocks: 65536
>> > > tst_device.c:541: TINFO: Use BTRFS specific strategy
>> > > tst_device.c:559: TBROK: BTRFS ioctl failed. Is . on a tmpfs?: ENOTTY (25)
>
>> > > I check if it'd work without
>> > > e1b1ae66b2 ("tst_find_backing_dev: Get dev name from /sys/dev/block/*/uevent")
>
>> > TMPDIR=/home/foo ./aiocp -b 1k -n 1 -f DIRECT # xfs
>> > tst_test.c:1558: TINFO: Timeout per run is 0h 30m 30s
>> > tst_test.c:1310: TINFO: xfs is supported by the test
>> > aiocp.c:231: TINFO: Maximum AIO blocks: 65536
>> > tst_device.c:585: TINFO: Use uevent strategy
>> > aiocp.c:267: TINFO: Fill srcfile.bin with random data
>> > aiocp.c:84: TBROK: write(3,0x7ffeccb9da00,60274) failed: EINVAL (22)
>
>> > TMPDIR=/var/tmp ./aiocp -b 1k -n 1 -f DIRECT # ext4
>> > tst_test.c:1558: TINFO: Timeout per run is 0h 30m 30s
>> > tst_test.c:1310: TINFO: ext2/ext3/ext4 is supported by the test
>> > aiocp.c:231: TINFO: Maximum AIO blocks: 65536
>> > tst_device.c:585: TINFO: Use uevent strategy
>> > aiocp.c:267: TINFO: Fill srcfile.bin with random data
>> > aiocp.c:84: TBROK: write(3,0x7ffda9e14120,50530) failed: EINVAL (22)
>
>> Ah, I suppose that this fails because we are wrongly passing the
>> srcflags to the open() that fills the source file with random data and
>> we end up passing O_DIRECT to the function that does not aling the
>> buffers and sizes at all.
>
>> Does this fix it?
>
> Hi Cyril,
>
> unfortunately the output is the same on all 3 tested filesystems.
> Any other hint what could fix it?
>

       EINVAL fd is attached to an object which is unsuitable for writing;  or
              the  file  was opened with the O_DIRECT flag, and either the ad-
              dress specified in buf, the value specified  in  count,  or  the
              file offset is not suitably aligned.

I suppose that writes should be aligned to the block size. Which
according to the lengths written they are not. There's also no reason to
open srcfd with O_DIRECT AFAICT?

We could also change fill_with_rand_data to use tst_rand_data. I'll post
a patch

>
> Kind regards,
> Petr
>
>> diff --git a/testcases/kernel/io/ltp-aiodio/aiocp.c b/testcases/kernel/io/ltp-aiodio/aiocp.c
>> index ee893ab11..a75da6a0c 100644
>> --- a/testcases/kernel/io/ltp-aiodio/aiocp.c
>> +++ b/testcases/kernel/io/ltp-aiodio/aiocp.c
>> @@ -263,7 +263,7 @@ static void setup(void)
>
>>         tst_res(TINFO, "Fill %s with random data", srcname);
>
>> -       srcfd = SAFE_OPEN(srcname, srcflags | O_RDWR | O_CREAT, 0666);
>> +       srcfd = SAFE_OPEN(srcname, O_WRONLY | O_CREAT, 0666);
>>         fill_with_rand_data(srcfd, filesize);
>>         SAFE_CLOSE(srcfd);
>>  }


-- 
Thank you,
Richard.

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2023-01-09 11:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 11:50 [LTP] [PATCH 1/1] aiocp.c: TCONF on O_DIRECT on tmpfs Petr Vorel
2022-12-16 13:08 ` Petr Vorel
2022-12-16 13:13   ` Petr Vorel
2022-12-19 12:07     ` Cyril Hrubis
2022-12-23 18:26       ` Petr Vorel
2023-01-09 11:19         ` Richard Palethorpe [this message]
2022-12-20 13:19   ` Richard Palethorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87358kj60p.fsf@suse.de \
    --to=rpalethorpe@suse.de \
    --cc=acervesato@suse.de \
    --cc=ltp@lists.linux.it \
    --cc=pvorel@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.