Skip to content

fsstress,fsx: add io_uring test and do some fix

Zorro Lang fstests 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest5 patches 1 replyIn review
  2. v45 patches 6 repliesSuperseded
  3. v34 patches 8 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v24 patches3 repliesSuperseded
v14 patches3 repliesSuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5fsstress: add IO_URING read and write operationsREADME configure.ac include/builddefs.in +4 more+152 -30 replies
2/5fsstress: reduce the number of events when io_setupltp/fsstress.c+3 -20 replies
3/5fsstress: fix memory leak in do_aio_rwltp/fsstress.c+19 -200 replies
4/5fsx: introduce fsx_rw to combine aio_rw with general read and writeltp/fsx.c+17 -150 replies
5/5fsx: add IO_URING testltp/fsx.c+130 -30 replies

Reviews trailers per patch

All 5 patches have a Reviewed-by or Acked-by.

PatchBrian Foster
1/5R-b
2/5R-b
3/5R-b
4/5R-b
5/5R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [PATCH v5 0/5] fsstress,fsx: add io_uring test and do some fix

This patchset tries to add new IO_URING test into fsstress [1/5] and fsx [4/5 and 5/5]. And then do some changes and bug fix by the way [2/5 and 3/5].

fsstress and fsx are important tools in xfstests to do filesystem I/Os test, lots of test cases use it. So add IO_URING operation into fsstress and fsx will help to cover IO_URING test from fs side.

I'm not an IO_URING expert, so cc io-uring@ list, please feel free to tell me if you find something wrong or have any suggestions to improve the test.

V2 did below changes:
1) 1/4 change the definition of URING_ENTRIES to 1
2) 2/4 change the difinition of AIO_ENTRIES to 1, undo an unrelated changed line
3) 4/4 turn to use io_uring_prep_readv/io_uring_prep_writev, due to old liburing(0.2-2) doesn't support io_uring_prep_read/io_uring_prep_write.

V3 changed io_uring_submit(&ring) to io_uring_submit_and_wait(&ring, 1). I'm not sure if this's the real mean of Jens Axboe's review point, please check.
https://marc.info/?l=fstests&m=159811932808057&w=2

V4 did below changes:
1) 1/5 change the "goto" related code of do_uring_rw()
2) 3/5 similar change as above
3) 4/5 new patch, separated from original 4/4 patch
3) 5/5 change #elif to #else
4) 5/5 change __uring_rw to uring_rw.
5) 5/5 change the loop logic in uring_rw().

V5 did below changes:
1) 1/5 turn to use (fd != -1)
2) 3/5 turn to use (fd != -1)
3) 5/5 change res to ret, change res2 to res.

Thanks,
Zorro