[Pkg-cryptsetup-devel] Bug#444914: temporary-cryptsetup-$$ files appear in /dev/mapper
Dick Middleton
dick at lingbrae.com
Tue Nov 20 09:45:29 UTC 2007
Jonas,
>>> maybe the reason for your 3 minutes delay is that udevsettle has a builtin
>>> timeout of 3 minutes.
>> That was my assumption.
>
> Do you have any evidence?
er ... no ! Just the guesswork of the ignorant ;-)
It's just it hangs up every time for *exactly* 3 mins every time doing
something which normally completes within a second.
>> So that's my particular problem solved but obviously running udevsettle
>> from within a program is problematic.
>
> can you elaborate on this?
Guessing again ... udevsettle waits until queued kernel/udev events are
handled. This seems to include waiting for "run programs" (programs
invoked by udev using the RUN= construct) to terminate. If a "run
program" invokes udevsettle then udevsettle will wait until itself
terminates - which is a deadlock.
This should be fairly easy to prove with a RUN=udevsettle in an
appropriate place. I just haven't done it yet.
> in my eyes the reason to invoke udevsettle is to go sure that relevant
> udev events have finished.
> we need to know how long these events delay
> in really bad situations to figure out a sane timout value for
> udevsettle.
I have no idea how to determine this. It just seems to me that the
problem udevsettle was put into cryptsetup to resolve is mostly seen on
high-speed hardware so the delay needed is quite short. But I don't
really understand what's happening underneath all this so you're hearing
ignorance and guesswork speaking again.
> if some situations cause the events to hang for i.e. 3 secs,
> a timeout of 1 second would be to short.
That's always the problem with timeouts.
> so as long as we don't know more about that, i would really like to
> check first if udevsettle has a builtin timeout at all.
Yes. I think being alive to the potential for deadlock is more important.
maybe the 3 minutes delay is a problem on your side,
Obviously it's unacceptable. I do have a solution though.
My view now is that you shouldn't change cryptsetup. I think a note in
a README warning of this issue would be sufficient. The whole problem
will go away anyway once the underlying udev problem has been fixed.
I'll muck about run programs to try to prove my point and propose a
wording for documentation.
Dick
More information about the Pkg-cryptsetup-devel
mailing list