On Thu, 30 May 2024 at 05:20, Jingbo Xu <[email protected]> wrote:
> > + if (test_bit(FR_FINISHED, &req->flags)) {
> > + list_del_init(&req->intr_entry);
> > + spin_unlock(&fiq->lock ^
> missing "return" here?
Well spotted. Thanks.
> > - err = -ENODEV;
> > - spin_unlock(&fiq->lock);
> > - fuse_put_request(req);
> > - }
> > + fuse_send_one(fiq, req);
> >
> > - return err;
> > + return 0;
> > }
>
> There's a minor changed behavior visible to users. Prior to the patch,
> the FUSE_NOTIFY_RETRIEVE will returns -ENODEV when the connection is
> aborted, but now it returns 0.
>
> It seems only example/notify_store_retrieve.c has used
> FUSE_NOTIFY_RETRIEVE in libfuse. I'm not sure if this change really
> matters.
It will return -ENOTCONN from fuse_simple_notify_reply() ->
fuse_get_req(). The -ENODEV would be a very short transient error
during the abort, so it doesn't matter.
Thanks,
Miklos