Project

General

Profile

Actions

Bug #4870

closed

rbd: watch request error handling bugs

Added by Alex Elder about 11 years ago. Updated almost 11 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
% Done:

0%

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

Description

These are error conditions that may not be likely, but...

In rbd_dev_header_watch_sync():
1) if we are initiating a watch, and there is a failure,
we should unregister the linger status on the request.
2) and if we are cancelling a watch request, and a failure
occurs when submitting the cancel request it or waiting
for its completion, we shouldn't cancel the event

The reason for (1) is that I think the request will basically
leak, because the osd client will hold an extra reference on
it.

The reason for (2) is that an event could eventually arrive
and conceivably handling that might lead to dereferencing
invalid memory.

Actions

Also available in: Atom PDF