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

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

 



> On 26 Feb 2017, at 01:43, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> 
> v5: rebase onto ACK vs. commit changes
> 
> v4: eliminate map_cb and just call ceph_osdc_abort_on_full directly
> Revert earlier patch flagging individual pages with error on writeback
> failure. Add mechanism to force synchronous writes when writes start
> failing, and reallowing async writes when they succeed.
> 
> v3: track "abort_on_full" behavior with a new bool in osd request
> instead of a protocol flag. Remove some extraneous arguments from
> various functions. Don't export have_pool_full, call it from the
> abort_on_full callback instead.
> 
> v2: teach libcephfs how to hold on to requests until the right map
> epoch appears, instead of delaying cap handling in the cephfs layer.
> 
> Ok, with this set, I think we have proper -ENOSPC handling for all
> different write types (direct, sync, async buffered, etc...). -ENOSPC
> conditions.
> 
> 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 only real change from the last posting was to rebase it on top
> of Ilya's changes to remove the ack vs. commit behavior. That rebase
> was fairly simple and turns out to simplify the changes somewhat.
> 
> In the last series Zheng also mentioned removing the other SetPageError
> sites in fs/ceph. That may make sense, but I've left that out for now,
> as I'd like to look over PG_error handling in the kernel at large.
> 
> Jeff Layton (6):
>  libceph: allow requests to return immediately on full conditions if
>    caller wishes
>  libceph: abort already submitted but abortable requests when map or
>    pool goes full
>  libceph: add an epoch_barrier field to struct ceph_osd_client
>  ceph: handle epoch barriers in cap messages
>  Revert "ceph: SetPageError() for writeback pages if writepages fails"
>  ceph: when seeing write errors on an inode, switch to sync writes
> 
> fs/ceph/addr.c                  | 10 +++--
> fs/ceph/caps.c                  | 17 ++++++--
> fs/ceph/file.c                  | 32 ++++++++------
> fs/ceph/mds_client.c            | 20 +++++++++
> fs/ceph/mds_client.h            |  7 ++-
> fs/ceph/super.h                 | 26 +++++++++++
> include/linux/ceph/osd_client.h |  3 ++
> net/ceph/osd_client.c           | 96 +++++++++++++++++++++++++++++++++++++----
> 8 files changed, 180 insertions(+), 31 deletions(-)

Reviewed-by: "Yan, Zheng” <zyan@xxxxxxxxxx>

> 
> -- 
> 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