Re: [PATCH 0/9] ceph: add asynchronous unlink support

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

 



On Fri, Aug 2, 2019 at 4:26 AM Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>
> I sent a preliminary patchset for this back in April, which relied
> on a totally hacked-up MDS patchset. Since then, Zheng has modified
> the approach somewhat to make the MDS grant the client explicit
> capabilities for asynchronous directory operations.
>
> This patchset is an updated version of the earlier set. With this,
> and the companion MDS set in play, removing a directory with a large
> number of files in it is roughly twice as fast as doing it
> synchronously.
>
> In addition this set includes some new tracepoints that allow the
> admin to better view what's happening with caps. They're mostly
> limited to unlink and cap handling here, but I expect we'll add
> more of those as time goes on.
>
> I don't think we'll want to merge this just yet, until the MDS
> support is merged. Once that goes in, and assuming we don't have
> any changes to the client/MDS interface, we should clear to do
> so.

MDS support for this is more complex  than I expected. I need more time for it.

Regards
Yan, Zheng

>
> Jeff Layton (7):
>   ceph: make several helper accessors take const pointers
>   ceph: hold extra reference to r_parent over life of request
>   ceph: register MDS request with dir inode from the get-go
>   ceph: add refcounting for Fx caps
>   ceph: wait for async dir ops to complete before doing synchronous dir
>     ops
>   ceph: new tracepoints when adding and removing caps
>   ceph: add tracepoints for async and sync unlink
>
> Yan, Zheng (2):
>   ceph: check inode type for CEPH_CAP_FILE_{CACHE,RD,REXTEND,LAZYIO}
>   ceph: perform asynchronous unlink if we have sufficient caps
>
>  fs/ceph/Makefile                |   3 +-
>  fs/ceph/caps.c                  |  88 +++++++++++++++++------
>  fs/ceph/dir.c                   | 121 ++++++++++++++++++++++++++++++--
>  fs/ceph/file.c                  |   4 ++
>  fs/ceph/inode.c                 |   9 ++-
>  fs/ceph/mds_client.c            |  27 +++----
>  fs/ceph/super.h                 |  28 ++++----
>  fs/ceph/trace.c                 |  76 ++++++++++++++++++++
>  fs/ceph/trace.h                 |  86 +++++++++++++++++++++++
>  include/linux/ceph/ceph_debug.h |   1 +
>  include/linux/ceph/ceph_fs.h    |   9 +++
>  11 files changed, 393 insertions(+), 59 deletions(-)
>  create mode 100644 fs/ceph/trace.c
>  create mode 100644 fs/ceph/trace.h
>
> --
> 2.21.0
>



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

  Powered by Linux