On September 18, 2024 9:29:44 AM GMT+02:00, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: >On Wed, 18 Sept 2024 at 00:00, Bernd Schubert ><bernd.schubert@xxxxxxxxxxx> wrote: > >> > I like this idea a lot. I like that it enforces per-request behavior >> > and guarantees that any stalled request will abort the connection. I >> > think it's fine for the timeout to be an interval/epoch so long as the >> > documentation explicitly makes that clear. I think this would need to >> > be done in the kernel instead of libfuse because if the server is in a >> > deadlock when there are no pending requests in the lists and then the >> > kernel sends requests to the server, none of the requests will make it >> > to the list for the timer handler to detect any issues. >> > >> > Before I make this change for v7, Miklos what are your thoughts on >> > this direction? > >I have no problem with epochs, but there are scalability issue with >shared lists. So I'm not sure. Maybe the individual timers would be >the best solution but I don't know the overhead and the scalability of >that solution either. > >Thanks, >Miklos In principle we could also have lists per device and then a bitmap when the lists are empty. But now certainly more complex, especially as a device clone can happen any time. Thanks, Bernd