1. 07 Mar, 2017 1 commit
    • Joe Thornber's avatar
      dm cache: significant rework to leverage dm-bio-prison-v2 · b29d4986
      Joe Thornber authored
      The cache policy interfaces have been updated to work well with the new
      bio-prison v2 interface's ability to queue work immediately (promotion,
      demotion, etc) -- overriding benefit being reduced latency on processing
      IO through the cache.  Previously such work would be left for the DM
      cache core to queue on various lists and then process in batches later
      -- this caused a serious delay in latency for IO driven by the cache.
      
      The background tracker code was factored out so that all cache policies
      can make use of it.
      
      Also, the "cleaner" policy has been removed and is now a variant of the
      smq policy that simply disallows migrations.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      b29d4986
  2. 22 Sep, 2016 1 commit
  3. 11 Jun, 2015 2 commits
    • Joe Thornber's avatar
      dm cache: age and write back cache entries even without active IO · fba10109
      Joe Thornber authored
      The policy tick() method is normally called from interrupt context.
      Both the mq and smq policies do some bottom half work for the tick
      method in their map functions.  However if no IO is going through the
      cache, then that bottom half work doesn't occur.  With these policies
      this means recently hit entries do not age and do not get written
      back as early as we'd like.
      
      Fix this by introducing a new 'can_block' parameter to the tick()
      method.  When this is set the bottom half work occurs immediately.
      'can_block' is set when the tick method is called every second by the
      core target (not in interrupt context).
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      fba10109
    • Joe Thornber's avatar
      dm cache: add fail io mode and needs_check flag · 028ae9f7
      Joe Thornber authored
      If a cache metadata operation fails (e.g. transaction commit) the
      cache's metadata device will abort the current transaction, set a new
      needs_check flag, and the cache will transition to "read-only" mode.  If
      aborting the transaction or setting the needs_check flag fails the cache
      will transition to "fail-io" mode.
      
      Once needs_check is set the cache device will not be allowed to
      activate.  Activation requires write access to metadata.  Future work is
      needed to add proper support for running the cache in read-only mode.
      
      Once in fail-io mode the cache will report a status of "Fail".
      
      Also, add commit() wrapper that will disallow commits if in read_only or
      fail mode.
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      028ae9f7
  4. 29 May, 2015 3 commits
  5. 11 Nov, 2013 1 commit
  6. 09 Nov, 2013 1 commit
  7. 20 Mar, 2013 1 commit
  8. 01 Mar, 2013 1 commit