io_uring: add io_uring_get_opcode
In some debug scenarios it is useful to have the text representation of the opcode. Add this function in preparation. Signed-off-by: Dylan Yudaken <dylany@fb.com> Link: https://lore.kernel.org/r/20220426082907.3600028-3-dylany@fb.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
cc51eaa8b5
commit
33337d03f0
101
fs/io_uring.c
101
fs/io_uring.c
@ -1285,6 +1285,107 @@ static struct kmem_cache *req_cachep;
|
||||
|
||||
static const struct file_operations io_uring_fops;
|
||||
|
||||
const char *io_uring_get_opcode(u8 opcode)
|
||||
{
|
||||
switch ((enum io_uring_op)opcode) {
|
||||
case IORING_OP_NOP:
|
||||
return "NOP";
|
||||
case IORING_OP_READV:
|
||||
return "READV";
|
||||
case IORING_OP_WRITEV:
|
||||
return "WRITEV";
|
||||
case IORING_OP_FSYNC:
|
||||
return "FSYNC";
|
||||
case IORING_OP_READ_FIXED:
|
||||
return "READ_FIXED";
|
||||
case IORING_OP_WRITE_FIXED:
|
||||
return "WRITE_FIXED";
|
||||
case IORING_OP_POLL_ADD:
|
||||
return "POLL_ADD";
|
||||
case IORING_OP_POLL_REMOVE:
|
||||
return "POLL_REMOVE";
|
||||
case IORING_OP_SYNC_FILE_RANGE:
|
||||
return "SYNC_FILE_RANGE";
|
||||
case IORING_OP_SENDMSG:
|
||||
return "SENDMSG";
|
||||
case IORING_OP_RECVMSG:
|
||||
return "RECVMSG";
|
||||
case IORING_OP_TIMEOUT:
|
||||
return "TIMEOUT";
|
||||
case IORING_OP_TIMEOUT_REMOVE:
|
||||
return "TIMEOUT_REMOVE";
|
||||
case IORING_OP_ACCEPT:
|
||||
return "ACCEPT";
|
||||
case IORING_OP_ASYNC_CANCEL:
|
||||
return "ASYNC_CANCEL";
|
||||
case IORING_OP_LINK_TIMEOUT:
|
||||
return "LINK_TIMEOUT";
|
||||
case IORING_OP_CONNECT:
|
||||
return "CONNECT";
|
||||
case IORING_OP_FALLOCATE:
|
||||
return "FALLOCATE";
|
||||
case IORING_OP_OPENAT:
|
||||
return "OPENAT";
|
||||
case IORING_OP_CLOSE:
|
||||
return "CLOSE";
|
||||
case IORING_OP_FILES_UPDATE:
|
||||
return "FILES_UPDATE";
|
||||
case IORING_OP_STATX:
|
||||
return "STATX";
|
||||
case IORING_OP_READ:
|
||||
return "READ";
|
||||
case IORING_OP_WRITE:
|
||||
return "WRITE";
|
||||
case IORING_OP_FADVISE:
|
||||
return "FADVISE";
|
||||
case IORING_OP_MADVISE:
|
||||
return "MADVISE";
|
||||
case IORING_OP_SEND:
|
||||
return "SEND";
|
||||
case IORING_OP_RECV:
|
||||
return "RECV";
|
||||
case IORING_OP_OPENAT2:
|
||||
return "OPENAT2";
|
||||
case IORING_OP_EPOLL_CTL:
|
||||
return "EPOLL_CTL";
|
||||
case IORING_OP_SPLICE:
|
||||
return "SPLICE";
|
||||
case IORING_OP_PROVIDE_BUFFERS:
|
||||
return "PROVIDE_BUFFERS";
|
||||
case IORING_OP_REMOVE_BUFFERS:
|
||||
return "REMOVE_BUFFERS";
|
||||
case IORING_OP_TEE:
|
||||
return "TEE";
|
||||
case IORING_OP_SHUTDOWN:
|
||||
return "SHUTDOWN";
|
||||
case IORING_OP_RENAMEAT:
|
||||
return "RENAMEAT";
|
||||
case IORING_OP_UNLINKAT:
|
||||
return "UNLINKAT";
|
||||
case IORING_OP_MKDIRAT:
|
||||
return "MKDIRAT";
|
||||
case IORING_OP_SYMLINKAT:
|
||||
return "SYMLINKAT";
|
||||
case IORING_OP_LINKAT:
|
||||
return "LINKAT";
|
||||
case IORING_OP_MSG_RING:
|
||||
return "MSG_RING";
|
||||
case IORING_OP_FSETXATTR:
|
||||
return "FSETXATTR";
|
||||
case IORING_OP_SETXATTR:
|
||||
return "SETXATTR";
|
||||
case IORING_OP_FGETXATTR:
|
||||
return "FGETXATTR";
|
||||
case IORING_OP_GETXATTR:
|
||||
return "GETXATTR";
|
||||
case IORING_OP_SOCKET:
|
||||
return "SOCKET";
|
||||
case IORING_OP_LAST:
|
||||
return "INVALID";
|
||||
}
|
||||
return "INVALID";
|
||||
}
|
||||
|
||||
struct sock *io_uring_get_socket(struct file *file)
|
||||
{
|
||||
#if defined(CONFIG_UNIX)
|
||||
|
@ -10,6 +10,7 @@ struct sock *io_uring_get_socket(struct file *file);
|
||||
void __io_uring_cancel(bool cancel_all);
|
||||
void __io_uring_free(struct task_struct *tsk);
|
||||
void io_uring_unreg_ringfd(void);
|
||||
const char *io_uring_get_opcode(u8 opcode);
|
||||
|
||||
static inline void io_uring_files_cancel(void)
|
||||
{
|
||||
@ -42,6 +43,10 @@ static inline void io_uring_files_cancel(void)
|
||||
static inline void io_uring_free(struct task_struct *tsk)
|
||||
{
|
||||
}
|
||||
static inline const char *io_uring_get_opcode(u8 opcode)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user