[PATCH v2 0/6] ceph: implement new-style ENOSPC handling in kcephfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



v2: teach libcephfs how to hold on to requests until the right map
epoch appears, instead of delaying cap handling in the cephfs layer.

This patchset is an updated version of the patch series originally
done by John Spray and posted here:

    http://www.spinics.net/lists/ceph-devel/msg21257.html

The patchset has undergone a number of changes since the original
submission, and now more closely resembles the approach taken by the
userland cephfs code. When it sees a new epoch barrier, it communicates
that to libcephfs which then uses the normal request target pausing
mechanism to hold them until the right map comes in.

With this, xfstests seems to work as well as before, and we get timely
-ENOSPC returns under these conditions with O_DIRECT writes. I still
need to plumb in a way to throttle the dirtying of new pages in buffered
I/O when we are getting errors during writeback. Still, I figure this is
a good place to pause to make sure that things look ok in the set before
I implement that part.

Jeff Layton (5):
  libceph: add an epoch_barrier field to struct ceph_osd_client
  libceph: rename and export have_pool_full
  ceph: register map callback to handle ENOSPC conditions
  ceph: handle epoch barriers in cap messages
  libceph: allow requests to return immediately on full conditions if
    caller wishes

John Spray (1):
  libceph: add ceph_osdc_complete_writes

 fs/ceph/addr.c                  |  14 ++++--
 fs/ceph/caps.c                  |  17 +++++--
 fs/ceph/file.c                  |   8 +--
 fs/ceph/mds_client.c            |  38 +++++++++++++++
 fs/ceph/mds_client.h            |   7 ++-
 include/linux/ceph/osd_client.h |  15 ++++++
 include/linux/ceph/rados.h      |   1 +
 net/ceph/osd_client.c           | 105 +++++++++++++++++++++++++++++++++++-----
 8 files changed, 180 insertions(+), 25 deletions(-)

-- 
2.9.3

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux