All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ilya Dryomov <idryomov@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] Ceph updates for 5.7-rc1
Date: Wed,  8 Apr 2020 20:30:07 +0200	[thread overview]
Message-ID: <20200408183007.19305-1-idryomov@gmail.com> (raw)

Hi Linus,

The following changes since commit 7111951b8d4973bda27ff663f2cf18b663d15b48:

  Linux 5.6 (2020-03-29 15:25:41 -0700)

are available in the Git repository at:

  https://github.com/ceph/ceph-client.git tags/ceph-for-5.7-rc1

for you to fetch changes up to ef9157259fb7bb3bc2c61df227e36f1b861a4753:

  ceph: fix snapshot directory timestamps (2020-03-30 12:42:43 +0200)

----------------------------------------------------------------
The main items are:

- support for asynchronous create and unlink (Jeff Layton).  Creates
  and unlinks are satisfied locally, without waiting for a reply from
  the MDS, provided the client has been granted appropriate caps (new
  in v15.y.z ("Octopus") release).  This can be a big help for metadata
  heavy workloads such as tar and rsync.  Opt-in with the new nowsync
  mount option.

- multiple blk-mq queues for rbd (Hannes Reinecke and myself).  When
  the driver was converted to blk-mq, we settled on a single blk-mq
  queue because of a global lock in libceph and some other technical
  debt.  These have since been addressed, so allocate a queue per CPU
  to enhance parallelism.

- don't hold onto caps that aren't actually needed (Zheng Yan).  This
  has been our long-standing behavior, but it causes issues with some
  active/standby applications (synchronous I/O, stalls if the standby
  goes down, etc).

- .snap directory timestamps consistent with ceph-fuse (Luis Henriques)

----------------------------------------------------------------
Andreas Gruenbacher (1):
      ceph: switch to page_mkwrite_check_truncate in ceph_page_mkwrite

Gustavo A. R. Silva (1):
      ceph: replace zero-length array with flexible-array member

Hannes Reinecke (2):
      rbd: kill img_request kref
      rbd: enable multiple blk-mq queues

Ilya Dryomov (7):
      libceph: drop CEPH_DEFINE_SHOW_FUNC
      rbd: remove barriers from img_request_layered_{set,clear,test}()
      rbd: get rid of img_request_layered_clear()
      rbd: acquire header_rwsem just once in rbd_queue_workfn()
      rbd: embed image request in blk-mq pdu
      libceph: simplify ceph_monc_handle_map()
      libceph: directly skip to the end of redirect reply

Jeff Layton (18):
      ceph: register MDS request with dir inode from the start
      ceph: add refcounting for Fx caps
      ceph: don't ClearPageChecked in ceph_invalidatepage()
      ceph: reorganize fields in ceph_mds_request
      ceph: move to a dedicated slabcache for mds requests
      ceph: clean up kick_flushing_inode_caps()
      ceph: more caps.c lockdep assertions
      ceph: add flag to designate that a request is asynchronous
      ceph: track primary dentry link
      ceph: add infrastructure for waiting for async create to complete
      ceph: make __take_cap_refs non-static
      ceph: cap tracking for async directory operations
      ceph: perform asynchronous unlink if we have sufficient caps
      ceph: make ceph_fill_inode non-static
      ceph: decode interval_sets for delegated inos
      ceph: add new MDS req field to hold delegated inode number
      ceph: cache layout in parent dir on first sync create
      ceph: attempt to do async create when possible

Luis Henriques (2):
      ceph: re-org copy_file_range and fix some error paths
      ceph: fix snapshot directory timestamps

Qiujun Huang (1):
      ceph: return ceph_mdsc_do_request() errors from __get_parent()

Xiubo Li (3):
      ceph: move ceph_osdc_{read,write}pages to ceph.ko
      ceph: fix description of some mount options
      ceph: return ETIMEDOUT errno to userland when request timed out

Yan, Zheng (14):
      ceph: check inode type for CEPH_CAP_FILE_{CACHE,RD,REXTEND,LAZYIO}
      ceph: check if file lock exists before sending unlock request
      ceph: don't take refs to want mask unless we have all bits
      ceph: update dentry lease for async create
      ceph: always renew caps if mds_wanted is insufficient
      ceph: consider inode's last read/write when calculating wanted caps
      ceph: remove delay check logic from ceph_check_caps()
      ceph: simplify calling of ceph_get_fmode()
      ceph: update i_requested_max_size only when sending cap msg to auth mds
      ceph: check all mds' caps after page writeback
      ceph: cleanup return error of try_get_cap_refs()
      ceph: request new max size only when there is auth cap
      ceph: don't skip updating wanted caps when cap is stale
      ceph: wait for async creating inode before requesting new max size

 Documentation/filesystems/ceph.txt |   6 +-
 drivers/block/rbd.c                | 215 ++++++---------
 fs/ceph/addr.c                     |  90 ++++++-
 fs/ceph/cache.c                    |   2 +-
 fs/ceph/caps.c                     | 536 ++++++++++++++++++++-----------------
 fs/ceph/debugfs.c                  |  16 +-
 fs/ceph/dir.c                      | 132 ++++++++-
 fs/ceph/export.c                   |   5 +
 fs/ceph/file.c                     | 486 +++++++++++++++++++++++++--------
 fs/ceph/inode.c                    |  84 +++---
 fs/ceph/ioctl.c                    |   2 +
 fs/ceph/locks.c                    |  31 ++-
 fs/ceph/mds_client.c               | 240 ++++++++++++++---
 fs/ceph/mds_client.h               |  30 ++-
 fs/ceph/super.c                    |  28 ++
 fs/ceph/super.h                    |  70 +++--
 include/linux/ceph/ceph_fs.h       |  18 +-
 include/linux/ceph/debugfs.h       |  14 -
 include/linux/ceph/libceph.h       |   1 +
 include/linux/ceph/osd_client.h    |  17 --
 net/ceph/debugfs.c                 |  20 +-
 net/ceph/mon_client.c              |   8 +-
 net/ceph/osd_client.c              |  82 ------
 23 files changed, 1380 insertions(+), 753 deletions(-)

             reply	other threads:[~2020-04-08 18:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-08 18:30 Ilya Dryomov [this message]
2020-04-09  4:55 ` [GIT PULL] Ceph updates for 5.7-rc1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200408183007.19305-1-idryomov@gmail.com \
    --to=idryomov@gmail.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.