On 5/11/22 13:19, Daniil Lunev wrote:
At a glance it's a gross hack. I can think of more than one way in
which this could be achieved without adding a new field to struct
super_block.
Can you advise what would be a better way to achieve that?
But... what I'd really prefer is if the underlying issue of fuse vs.
suspend was properly addressed instead of adding band-aids. And that
takes lots more resources, for sure, and the result is not guaranteed.
But you could at least give it a try.
We do have a limited success with userspace level sequencing of processes,
but on the kernel level - it is all quite untrivial, as you mentioned.
I did some
research, and what I found pretty much a 9 years old thread which went
nowhere at the end [1]. We would also prefer if suspend just worked (and
we have a person looking into what is actually breaking with suspend), but
there is an unbounded amount of time for how long the investigation and
search for a solution may be ongoing given the complexity of the problem,
and in the meantime there is no way to work around the problem.
Thanks,
Daniil
[1] https://linux-kernel.vger.kernel.narkive.com/UeBWfN1V/patch-fuse-make-fuse-daemon-frozen-along-with-kernel-threads
So that sounds like anything that is waiting for a response cannot be
frozen? Assuming there is an outstanding NFS request and the NFS server
is down, suspend would not work until the NFS server comes back?
Thanks,
Bernd