1. 02 4月, 2010 1 次提交
    • S
      ceph: allow writeback of snapped pages older than 'oldest' snapc · 80e755fe
      Sage Weil 提交于
      On snap deletion, we don't regenerate ceph_cap_snaps for inodes with dirty
      pages because deletion does not affect metadata writeback.  However, we
      did run into problems when we went to write back the pages because the
      'oldest' snapc is determined by the oldest cap_snap, and that may be the
      newer snapc that reflects the deletion.  This caused confusion and an
      infinite loop in ceph_update_writeable_page().
      
      Change the snapc checks to allow writeback of any snapc that is equal to
      OR older than the 'oldest' snapc.
      
      When there are no cap_snaps, we were also using the realm's latest snapc
      for writeback, which complicates ceph_put_wrbufffer_cap_refs().  Instead,
      use i_head_snapc, the most snapc used for the most recent ('head') data.
      This makes the writeback snapc (ceph_osd_request.r_snapc) _always_ match a
      capsnap or i_head_snapc.
      
      Also, in writepags_finish(), drop the snapc referenced by the _page_
      and do not assume it matches the request snapc (it may not anymore).
      Signed-off-by: NSage Weil <sage@newdream.net>
      80e755fe
  2. 23 3月, 2010 1 次提交
  3. 24 2月, 2010 1 次提交
  4. 20 2月, 2010 1 次提交
  5. 12 2月, 2010 3 次提交
  6. 03 2月, 2010 1 次提交
  7. 26 1月, 2010 1 次提交
  8. 22 12月, 2009 2 次提交
  9. 28 10月, 2009 1 次提交
  10. 07 10月, 2009 1 次提交
    • S
      ceph: address space operations · 1d3576fd
      Sage Weil 提交于
      The ceph address space methods are concerned primarily with managing
      the dirty page accounting in the inode, which (among other things)
      must keep track of which snapshot context each page was dirtied in,
      and ensure that dirty data is written out to the OSDs in snapshort
      order.
      
      A writepage() on a page that is not currently writeable due to
      snapshot writeback ordering constraints is ignored (it was presumably
      called from kswapd).
      Signed-off-by: NSage Weil <sage@newdream.net>
      1d3576fd