summaryrefslogtreecommitdiff
path: root/fs/ceph
diff options
context:
space:
mode:
authorAlex Elder <elder@inktank.com>2013-01-24 16:13:36 -0600
committerSage Weil <sage@inktank.com>2013-05-01 21:18:48 -0700
commit8b3e1a56982d0eafff0afb0ff9e87c8b944a9bdc (patch)
tree5c3af92d78d35f27274533eec7d8353c124266ba /fs/ceph
parent2f82ee54d95c9430838e4580f3bcc196ad36e4f2 (diff)
rbd: implement layered reads
Implement layered read requests for format 2 rbd images. If an rbd image is a clone of a snapshot, the snapshot will be the clone's "parent" image. When an object read request on a clone comes back with ENOENT it indicates that the clone is not yet populated with that portion of the image's data, and the parent image should be consulted to satisfy the read. When this occurs, a new image request is created, directed to the parent image. The offset and length of the image are the same as the image-relative offset and length of the object request that produced ENOENT. Data from the parent image therefore satisfies the object read request for the original image request. While this code works, it will not be active until we enable the layering feature (by adding RBD_FEATURE_LAYERING to the value of RBD_FEATURES_SUPPORTED). Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'fs/ceph')
0 files changed, 0 insertions, 0 deletions