Project

General

Profile

Actions

Bug #19832

closed

Potential IO hang if image is flattened while read request is in-flight

Added by Jason Dillaman about 7 years ago. Updated over 6 years ago.

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

0%

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

Description

If the child object doesn't exist and the parent is removed after the IO started, the IO will hang w/o completing.

https://github.com/ceph/ceph/blob/master/src/librbd/io/ObjectRequest.cc#L207

        if (image_ctx->parent == NULL) {
          ldout(image_ctx->cct, 20) << "parent is gone; do nothing" << dendl;
          m_state = LIBRBD_AIO_READ_FLAT;
          finished = false;
          break;
        }

The "finished = false" line should be removed


Related issues 3 (0 open3 closed)

Copied to rbd - Backport #20152: hammer: Potential IO hang if image is flattened while read request is in-flightRejectedAlexey SheplyakovActions
Copied to rbd - Backport #20153: jewel: Potential IO hang if image is flattened while read request is in-flightResolvedNathan CutlerActions
Copied to rbd - Backport #20154: kraken: Potential IO hang if image is flattened while read request is in-flightResolvedNathan CutlerActions
Actions

Also available in: Atom PDF