Use the pipe to execute kill path command, otherwise, it's possible to
introduce the stuck issue for the message transferring for socket, this
issue is likely caused by the deadlock between the IDM lock manager's
daemon and lvmlockctl program, it causes circle for the program
interaction:
The daemon "seagate_ilm" launches the child process "lvmlockctl" to
deactivate VG;
"lvmlockctl" sends the request to "lvmlockd" to unlock mutex for the
VG;
"lvmlockd" sends messages to the daemon "seagate_ilm" for unlocking
operations;
As the result, it appears stuck for "lvmlockd" which cannot receive the
tail of message from socket.
To fix this issue, changes to use pipe to launch the process
"lvmlockctl".
Use the pipe to execute kill path command, otherwise, it's possible to introduce the stuck issue for the message transferring for socket, this issue is likely caused by the deadlock between the IDM lock manager's daemon and lvmlockctl program, it causes circle for the program interaction:
As the result, it appears stuck for "lvmlockd" which cannot receive the tail of message from socket.
To fix this issue, changes to use pipe to launch the process "lvmlockctl".
Signed-off-by: Leo Yan leo.yan@linaro.org