Project

General

Profile

Feature #4724

krbd: handle layered I/O correctly when the child has been resized

Added by Josh Durgin almost 11 years ago. Updated almost 11 years ago.

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

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

When a child image is shrunk or expanded, the logical section of the child that may inherit the parent's data is no longer the entire image, but the minimum size the child has been (tracked by the parent_overlap part of the parent_spec). Reads and writes to the first object after (but not containing) the overlap point don't need to worry about the parent, so they should not be marked layered.
Writes to the object containing the overlap point should only copyup data through the overlap point, and not beyond. Reads to the object containing the overlap point that fall through to the parent should zero-fill any data for that object after the overlap point.

This should be pretty simple to add once the read and write-path are done.

History

#1 Updated by Alex Elder almost 11 years ago

  • Status changed from New to Fix Under Review

The following has been posted for review:

[PATCH] rbd: enforce parent overlap

#2 Updated by Alex Elder almost 11 years ago

  • Status changed from Fix Under Review to Resolved
  • Target version set to v0.62a

The following has been committed to the "testing" branch
of the ceph-client git repository:

64548e0 rbd: enforce parent overlap

Also available in: Atom PDF