On 12/5/23 23:11, Jens Axboe wrote:
On 12/5/23 4:02 PM, Keith Busch wrote:
On Tue, Dec 05, 2023 at 03:00:52PM -0700, Jens Axboe wrote:
if (!file->f_op->uring_cmd_iopoll)
return -EOPNOTSUPP;
- issue_flags |= IO_URING_F_IOPOLL;
req->iopoll_completed = 0;
}
+ issue_flags |= ctx->issue_flags;
ret = file->f_op->uring_cmd(ioucmd, issue_flags);
if (ret == -EAGAIN) {
if (!req_has_async_data(req)) {
I obviously like this idea, but it should be accompanied by getting rid
of ->compat and ->syscall_iopoll in the ctx as well?
Yeah, I considered that, and can incorporate it here. Below is a snippet
of what I had earlier to make that happen, but felt the purpose for the
"issue_flags" was uring_cmd specific and disconnected from everyone
else. Maybe I'm overthinking it...
I'd just do a patch 2 that does compat and syscall_iopoll. And then if
I don't understand why and how you'd get rid of syscall_iopoll,
considering it's not exposed to cmds, and if it is, then we have
a bigger problem. It's a bit sleazily defined and is not just
SETUP_IOPOLL.
we ever have a new issue flags (as your other series), then it'd become
natural to add that flag too.
It's not a hard requirement, but it's somewhat ugly to have the same
state in two spots. Which is why I'd prefer if we got rid of the actual
compat/syscall_iopoll members as well, after the conversion is done.
--
Pavel Begunkov