*/
struct file *file;
struct io_cmd_data cmd;
- struct io_xattr xattr;
struct io_uring_cmd uring_cmd;
};
static inline void __io_xattr_finish(struct io_kiocb *req)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
if (ix->filename)
putname(ix->filename);
static int __io_getxattr_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
const char __user *name;
int ret;
static int io_getxattr_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
const char __user *path;
int ret;
static int io_fgetxattr(struct io_kiocb *req, unsigned int issue_flags)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
int ret;
if (issue_flags & IO_URING_F_NONBLOCK)
static int io_getxattr(struct io_kiocb *req, unsigned int issue_flags)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
unsigned int lookup_flags = LOOKUP_FOLLOW;
struct path path;
int ret;
static int __io_setxattr_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
const char __user *name;
int ret;
static int io_setxattr_prep(struct io_kiocb *req,
const struct io_uring_sqe *sqe)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
const char __user *path;
int ret;
static int __io_setxattr(struct io_kiocb *req, unsigned int issue_flags,
struct path *path)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
int ret;
ret = mnt_want_write(path->mnt);
static int io_setxattr(struct io_kiocb *req, unsigned int issue_flags)
{
- struct io_xattr *ix = &req->xattr;
+ struct io_xattr *ix = io_kiocb_to_cmd(req);
unsigned int lookup_flags = LOOKUP_FOLLOW;
struct path path;
int ret;