[lvm-devel] [PATCH] check for running cluster log daemon, not just log module

Jonathan Brassow jbrassow at redhat.com
Tue Jul 20 14:20:34 UTC 2010


The lock gets dropped if the process holding it dies, as I remember  
it.  This obviates the need to validate the PID.  Sure, a previous  
instance may have died and left the file in place, but the locks would  
have been release too - and this is what we are checking for.  I'm  
still not seeing what we gain - unless we can have the name of the  
executable to validate.  This would be the only thing - from my  
perspective - that would gain us anything.  However, you point out  
that this doesn't really matter, and I agree with you.

  brassow

On Jul 19, 2010, at 4:00 PM, Alasdair G Kergon wrote:

> The function is named 'daemon_is_running', so it really should
> still give the correct answer if the daemon is *not* running
> but a previous instance left the file behind for any reason.
> I.e. validate that the PID in the file does in fact still
> exist and have that lockfile open.
>
>>> Yes - check /proc/<pid>/fd/*  if available?
>
> Read pidfile to get PID.
>
> List /proc/<pid>/fd/* and check that one of them (a quick code
> audit might even enable you to guarantee which one and pass it
> in as another parameter) points back at the file.
>
> The daemon name doesn't really matter in this: if someone creates  
> other
> software that uses *our* lockfile then they've got bigger problems,  
> but yes,
> you could pass that in and check that too.
>
> Alasdair
>




More information about the lvm-devel mailing list