diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2026-01-06 23:23:05 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2026-01-16 12:47:42 -0500 |
| commit | 037193b0ae833c922881f0bf188b4ed49874e6c9 (patch) | |
| tree | 2707e3c7065edbb3267d04146a7800d22279cf67 /io_uring | |
| parent | e6d50234ccb9ff54addd579032a146aef52e7541 (diff) | |
non-consuming variant of do_linkat()
similar to previous commit; replacement is filename_linkat()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'io_uring')
| -rw-r--r-- | io_uring/fs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/io_uring/fs.c b/io_uring/fs.c index e5829d112c9e..e39cd1ca1942 100644 --- a/io_uring/fs.c +++ b/io_uring/fs.c @@ -280,12 +280,13 @@ int io_linkat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) int io_linkat(struct io_kiocb *req, unsigned int issue_flags) { struct io_link *lnk = io_kiocb_to_cmd(req, struct io_link); + CLASS(filename_complete_delayed, old)(&lnk->oldpath); + CLASS(filename_complete_delayed, new)(&lnk->newpath); int ret; WARN_ON_ONCE(issue_flags & IO_URING_F_NONBLOCK); - ret = do_linkat(lnk->old_dfd, complete_getname(&lnk->oldpath), - lnk->new_dfd, complete_getname(&lnk->newpath), lnk->flags); + ret = filename_linkat(lnk->old_dfd, old, lnk->new_dfd, new, lnk->flags); req->flags &= ~REQ_F_NEED_CLEANUP; io_req_set_res(req, ret, 0); |
