Re: [External] Re: [PATCH 0/5] io_uring: add opcodes for current working directory

From: Usama Arif
Date: Tue May 31 2022 - 15:18:59 EST




On 31/05/2022 19:58, Jens Axboe wrote:
On 5/31/22 12:41 PM, Usama Arif wrote:
This provides consistency between io_uring and the respective I/O syscall
and avoids having the user of liburing specify the cwd in sqe when working
with current working directory, for e.g. the user can directly call with
IORING_OP_RENAME instead of IORING_OP_RENAMEAT and providing AT_FDCWD in
sqe->fd and sqe->len, similar to syscall interface.

This is done for rename, unlink, mkdir, symlink and link in this
patch-series.

The tests for these opcodes in liburing are present at
https://github.com/uarif1/liburing/tree/cwd_opcodes. If the patches are
acceptable, I am happy to create a PR in above for the tests.

Can't we just provide prep helpers for them in liburing?


We could add a io_uring_prep_unlink with IORING_OP_UNLINKAT and AT_FDCWD in liburing. But i guess adding in kernel adds a more consistent interface? and allows to make calls bypassing liburing (although i guess people probably don't bypass liburing that much :))

Making the changes in both kernel and liburing provides more of a standard interface in my opinion so maybe it looks better. But happy to just create a PR in liburing only with prep helpers as you suggested if you think that is better?

Thanks!