diff --git a/source3/modules/vfs_io_uring.c b/source3/modules/vfs_io_uring.c index 378e48d112f..d21a3485536 100644 --- a/source3/modules/vfs_io_uring.c +++ b/source3/modules/vfs_io_uring.c @@ -294,6 +294,7 @@ static void vfs_io_uring_fd_handler(struct tevent_context *ev, struct vfs_io_uring_pread_state { struct vfs_io_uring_request ur; struct iovec iov; + off_t offset; }; static struct tevent_req *vfs_io_uring_pread_send(struct vfs_handle_struct *handle, @@ -319,6 +320,7 @@ static struct tevent_req *vfs_io_uring_pread_send(struct vfs_handle_struct *hand state->ur.config = config; state->ur.req = req; state->ur.state = state; + state->offset = offset; SMBPROFILE_BYTES_ASYNC_START(syscall_asys_pread, profile_p, state->ur.profile_bytes, n); @@ -367,6 +369,11 @@ static ssize_t vfs_io_uring_pread_recv(struct tevent_req *req, ret = state->ur.cqe.res; } + //JRATEST + if (ret > 2 && state->offset == 0) { + ret = ret - 2; + } + tevent_req_received(req); return ret; }