summaryrefslogtreecommitdiff
path: root/io_uring
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-05-24 19:19:47 +0300
committerJens Axboe <axboe@kernel.dk>2022-07-25 03:39:11 +0300
commit890968dc03361b92957e183fe8f692371e4ef18b (patch)
tree50be196edb6a5b771a2d5b70fe60224d15240f98 /io_uring
parent9a3a11f977f9972b812cc8666d1ffdb93699bd92 (diff)
downloadlinux-890968dc03361b92957e183fe8f692371e4ef18b.tar.xz
io_uring: unify struct io_symlink and io_hardlink
They are really just a subset of each other, just use the one type. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring')
-rw-r--r--io_uring/io_uring.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 21246d2e6221..808acb854b66 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -761,14 +761,7 @@ struct io_mkdir {
struct filename *filename;
};
-struct io_symlink {
- struct file *file;
- int new_dfd;
- struct filename *oldpath;
- struct filename *newpath;
-};
-
-struct io_hardlink {
+struct io_link {
struct file *file;
int old_dfd;
int new_dfd;
@@ -4723,7 +4716,7 @@ static int io_mkdirat(struct io_kiocb *req, unsigned int issue_flags)
static int io_symlinkat_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_symlink *sl = io_kiocb_to_cmd(req);
+ struct io_link *sl = io_kiocb_to_cmd(req);
const char __user *oldpath, *newpath;
if (sqe->len || sqe->rw_flags || sqe->buf_index || sqe->splice_fd_in)
@@ -4751,7 +4744,7 @@ static int io_symlinkat_prep(struct io_kiocb *req,
static int io_symlinkat(struct io_kiocb *req, unsigned int issue_flags)
{
- struct io_symlink *sl = io_kiocb_to_cmd(req);
+ struct io_link *sl = io_kiocb_to_cmd(req);
int ret;
if (issue_flags & IO_URING_F_NONBLOCK)
@@ -4767,7 +4760,7 @@ static int io_symlinkat(struct io_kiocb *req, unsigned int issue_flags)
static int io_linkat_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_hardlink *lnk = io_kiocb_to_cmd(req);
+ struct io_link *lnk = io_kiocb_to_cmd(req);
const char __user *oldf, *newf;
if (sqe->rw_flags || sqe->buf_index || sqe->splice_fd_in)
@@ -4797,7 +4790,7 @@ static int io_linkat_prep(struct io_kiocb *req,
static int io_linkat(struct io_kiocb *req, unsigned int issue_flags)
{
- struct io_hardlink *lnk = io_kiocb_to_cmd(req);
+ struct io_link *lnk = io_kiocb_to_cmd(req);
int ret;
if (issue_flags & IO_URING_F_NONBLOCK)
@@ -8011,15 +8004,9 @@ static void io_clean_op(struct io_kiocb *req)
putname(md->filename);
break;
}
- case IORING_OP_SYMLINKAT: {
- struct io_symlink *sl = io_kiocb_to_cmd(req);
-
- putname(sl->oldpath);
- putname(sl->newpath);
- break;
- }
+ case IORING_OP_SYMLINKAT:
case IORING_OP_LINKAT: {
- struct io_hardlink *hl = io_kiocb_to_cmd(req);
+ struct io_link *hl = io_kiocb_to_cmd(req);
putname(hl->oldpath);
putname(hl->newpath);