Project

General

Profile

Actions

Bug #11693

closed

pidfile is overwritten and removed if the ceph-osd with the specified pidfile is already running

Added by Xinze Chi almost 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

If osd.5 is already up and running, following command will try to start osd.5 again.

/usr/bin/ceph-osd -i 5 --pid-file /var/run/ceph/osd.5.pid

this command fails, but the pid file for osd.5 is removed [1] after the command returns.

so we can not identify the running osd.5 using the pid file any more, hence not able to kill it using its pid.

as a result, test/erasure-code/test-erasure-code.sh will leave us with some running OSD daemons after it returns, even if this test passes.

---
[1] ceph-osd use pidfile_write(g_conf) to write pid file, use atexit(pidfile_remove_void) to remove the pid file.

Actions

Also available in: Atom PDF