Project

General

Profile

Feature #3397

librbd: move clone read logic above the cache

Added by Sage Weil about 7 years ago. Updated about 7 years ago.

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

0%

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

Description

This will allow us to efficiently cache ENOENT for the child so that reads pass directly to the parent, without having to cache the parent data itself. With the current layering, memory pressure will push the parent data out of memory in the child's cache and it will re-check for the child object existence.

This will also let us eliminate the double-caching that goes on. Currently, both the parent and child images will cache data.

Two things to go with this:

- ObjectCacher needs to return ENOENT so that the layering logic can live above it.
- the copyup code in the WritebackHandler needs to tell the parent cache to discard the data it just copied up.

History

#1 Updated by Sage Weil about 7 years ago

  • translation missing: en.field_position deleted (1)
  • translation missing: en.field_position set to 8

#2 Updated by Sage Weil about 7 years ago

  • Description updated (diff)

#3 Updated by Sage Weil about 7 years ago

  • translation missing: en.field_position deleted (13)
  • translation missing: en.field_position set to 4

#4 Updated by Sage Weil about 7 years ago

  • Target version set to v0.55c
  • translation missing: en.field_position deleted (10)
  • translation missing: en.field_position set to 4

#5 Updated by Sage Weil about 7 years ago

  • Target version changed from v0.55c to v0.55d
  • translation missing: en.field_position deleted (9)
  • translation missing: en.field_position set to 1

#6 Updated by Sage Weil about 7 years ago

  • translation missing: en.field_story_points set to 5
  • translation missing: en.field_position deleted (1)
  • translation missing: en.field_position set to 1

#7 Updated by Sage Weil about 7 years ago

  • Status changed from New to Resolved
  • translation missing: en.field_position deleted (3)
  • translation missing: en.field_position set to 2

Also available in: Atom PDF