[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <chiicm5lwiok5ni6evrohkjvmt3upy5ikm7vdxz5ukops464kg@vf7hr2mprg3i>
Date: Tue, 10 Jun 2025 13:56:01 +0900
From: Sergey Senozhatsky <senozhatsky@...omium.org>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: Sergey Senozhatsky <senozhatsky@...omium.org>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: fuse: suspend blockers
On (25/06/06 10:26), Miklos Szeredi wrote:
> > @@ -241,7 +241,7 @@ static struct fuse_req *fuse_get_req(struct fuse_conn *fc, bool for_background)
> >
> > if (fuse_block_alloc(fc, for_background)) {
> > err = -EINTR;
> > - if (wait_event_killable_exclusive(fc->blocked_waitq,
> > + if (wait_event_freezable_killable_exclusive(fc->blocked_waitq,
> > !fuse_block_alloc(fc, for_background)))
> > goto out;
> > }
>
> This looks fine. We can turn each wait into a freezable one inside
> fuse. But that still would leave core locks (inode lock, rename lock,
> page lock, etc) unfreezable. Turning those into freezable isn't
> realistic...
>
> But a partial solution might still be better than no solution.
Thanks Miklos, I sent out a simple patch set [1]
[1] https://lore.kernel.org/linux-kernel/20250610045321.4030262-1-senozhatsky@chromium.org
Powered by blists - more mailing lists