Re: [PATCH 3/9] libceph: avoid using freed osd in __kick_osd_requests()

2012-12-14 Thread Sage Weil
Reviewed-by: Sage Weil On Thu, 13 Dec 2012, Alex Elder wrote: > If an osd has no requests and no linger requests, __reset_osd() > will just remove it with a call to __remove_osd(). That drops > a reference to the osd, and therefore the osd may have been free > by the time __reset_osd() returns.

[PATCH 3/9] libceph: avoid using freed osd in __kick_osd_requests()

2012-12-13 Thread Alex Elder
If an osd has no requests and no linger requests, __reset_osd() will just remove it with a call to __remove_osd(). That drops a reference to the osd, and therefore the osd may have been free by the time __reset_osd() returns. That function offers no indication this may have occurred, and as a res