On 2023/3/28 23:09, Ming Lei wrote: > Apply io_uring fused command for supporting zero copy: > [...] > > @@ -1374,7 +1533,12 @@ static int ublk_ch_uring_cmd(struct io_uring_cmd *cmd, unsigned int issue_flags) > if (!ubq || ub_cmd->q_id != ubq->q_id) > goto out; > > - if (ubq->ubq_daemon && ubq->ubq_daemon != current) > + /* > + * The fused command reads the io buffer data structure only, so it > + * is fine to be issued from other context. > + */ > + if ((ubq->ubq_daemon && ubq->ubq_daemon != current) && > + (cmd_op != UBLK_IO_FUSED_SUBMIT_IO)) > goto out; > Hi Ming, What is your use case that fused io_uring cmd is issued from another thread? I think it is good practice to operate one io_uring instance in one thread only. Regards, Zhang