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

Reply via email to