Function report |
Source Code:fs\io_uring.c |
Create Date:2022-07-28 20:22:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:io_prep_rw
Proto:static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe, bool force_nonblock)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct io_kiocb * | req | |
const struct io_uring_sqe * | sqe | |
bool | force_nonblock |
1508 | If S_ISREG(i_mode) Then flags |= gular file |
1512 | ki_flags = iocb_flags(ki_filp) |
1513 | ki_hint = ki_hint_validate(file_write_hint(ki_filp)) |
1515 | ioprio = READ_ONCE(prio for the request ) |
1516 | If ioprio Then |
1522 | Else See linux/ioprio.h = If the calling process has set an I/O priority, use that. Otherwise, return* the default I/O priority. |
1525 | ret = kiocb_set_rw_flags(kiocb, READ_ONCE(rw_flags)) |
1526 | If Value for the false possibility is greater at compile time(ret) Then Return ret |
1530 | If ki_flags & IOCB_NOWAIT || f_flags & O_NONBLOCK Then flags |= must not punt to workers |
1534 | If force_nonblock Then ki_flags |= IOCB_NOWAIT |
1537 | If flags & _context is polled Then |
1538 | If Not (ki_flags & IOCB_DIRECT) || Not iopoll Then Return -EOPNOTSUPP |
1542 | ki_flags |= IOCB_HIPRI |
1543 | ki_complete = io_complete_rw_iopoll |
1544 | result = 0 |
1545 | Else |
1546 | If ki_flags & IOCB_HIPRI Then Return -EINVAL |
1548 | ki_complete = io_complete_rw |
1551 | addr = READ_ONCE(pointer to buffer or iovecs ) |
1552 | len = READ_ONCE(uffer size or number of iovecs ) |
1556 | Return 0 |
Name | Describe |
---|---|
io_read_prep | |
io_write_prep |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |