Hi Brian et al,
> +static void fuse_uring_cqe_handler(CqeHandler *cqe_handler)
> +{
> + FuseRingEnt *ent = container_of(cqe_handler, FuseRingEnt,
> fuse_cqe_handler);
> + FuseQueue *q = ent->q;
> + Coroutine *co;
> + FuseExport *exp = ent->q->exp;
> +
> + int err = cqe_handler->cqe.res;
> + if (err != 0) {
> + /* TODO end_conn support */
> +
> + /* -ENOTCONN is ok on umount */
> + if (err != -EINTR && err != -EOPNOTSUPP &&
> + err != -EAGAIN && err != -ENOTCONN) {
> + fuse_export_halt(exp);
what actually happened to these patches? I don't see it merged in the
qemu repo? There is an issue here. I know we had discussed -EAGAIN and
-EINTR. Actually this needs to be specially handled, at least
FUSE_IO_URING_CMD_REGISTER, because it can arrive before FUSE_INIT
is processed and then kernel will return -EAGAIN.
https://github.com/libfuse/libfuse/pull/1387/commits/34f3dec97cce508642679cb1b874e99ed36d8158
I need to split this up it also includes some other refactoring.
Thanks,
Bernd