On Tue, Jun 22, 2021 at 6:37 PM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote: > > On 6/3/21 6:18 AM, Dmitry Kadashev wrote: > > IORING_OP_SYMLINKAT behaves like symlinkat(2) and takes the same flags > > and arguments. > > > > Suggested-by: Christian Brauner <christian.brauner@xxxxxxxxxx> > > Link: https://lore.kernel.org/io-uring/20210514145259.wtl4xcsp52woi6ab@wittgenstein/ > > Signed-off-by: Dmitry Kadashev <dkadashev@xxxxxxxxx> > > --- > > fs/internal.h | 1 + > > fs/io_uring.c | 64 ++++++++++++++++++++++++++++++++++- > > fs/namei.c | 3 +- > > include/uapi/linux/io_uring.h | 1 + > > 4 files changed, 66 insertions(+), 3 deletions(-) > > > > diff --git a/fs/internal.h b/fs/internal.h > > index 207a455e32d3..3b3954214385 100644 > > [...] > > > > > static bool io_disarm_next(struct io_kiocb *req); > > @@ -3572,7 +3581,51 @@ static int io_mkdirat(struct io_kiocb *req, int issue_flags) > > > > req->flags &= ~REQ_F_NEED_CLEANUP; > > if (ret < 0) > > - req_set_fail_links(req); > > + req_set_fail(req); > > This means one of the previous patches doesn't compile. Let's fix it. This is an artifact from yet another rebase, sorry. This should have been a part of the MKDIR opcode commit, but got squashed with a wrong one. But I can see you've already figured that out and sent for Jens to fold it in. Thanks! -- Dmitry Kadashev