Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp956213ybb; Wed, 8 Apr 2020 13:18:43 -0700 (PDT) X-Google-Smtp-Source: APiQypIXhF4gDrHLI5jxDt+EChJIjSdOghKkhdjN3Ke/HD6UwVEDPdf8u/Go4QwT5/Qu2eKjWAl4 X-Received: by 2002:a9d:409:: with SMTP id 9mr2966483otc.134.1586377123420; Wed, 08 Apr 2020 13:18:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586377123; cv=none; d=google.com; s=arc-20160816; b=g/0tK+QQDBbwrdpYgexi+1YOn5c/RvRORB+eV0efnAIa/VI2MGLGnpV6C8C4IvkGka 7cwfeYM6JK+NuRBvfocbuuk3htgFOQVB5iosTQ3GbCmiMEYiaByIxcIoZ0uKNBTivjgI 5OAbylVMn5zR8SWPFPaUNx+kxCRQLEbHYbQdGdKe34T7jpZB5G7KI+XAF0joeHIUOo/i HfUvS3cLATFCosSdAhXlg6bbg1UtFV/uvOP3qlLkHsNs517SuqPd3lrMBezpDmQ895G5 37bXFfgsItkXX7M5eNcxVfgplw/5o93pXyZ5srH1QzdSW2AWUFOh2ZxNGv0e23T8ZtaE 4Amg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=7ZBrTsWHmyC1d0UWFrbZBnZibup3HzRLEyFXJCjcQQY=; b=w6A36ICY0L+RNhNdq7GtNp8KYlCs8B7rFj0RTjSOFASuQRzn9KWC4/Iufieo5QOCV0 k7rGFPwb3RMkSejOUVB8wc9lswOvf+1euw4YhH9hNcHv0bmBpoGn6yrQfprurP23l73e n67Qmm5JPRPyBaPittOH5M9uLDG//XfmapWGutjIIM/DiRXKSZTJ+4UyrD+8enOnyjXT wEshyR+AOlX4O6q+1Qp1V6MkVruRAe19f6micQha7TAX8KwL9src0uewunWFh0k76Rtm d/HJfj+nbYrl7I6Eos07UfYvLBI88DRAdZt+ceHT+N1QiNwjZz85FE9JMm9JDBjVnyKd hUkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=a6qweAAb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s139si2858649oih.7.2020.04.08.13.18.31; Wed, 08 Apr 2020 13:18:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=a6qweAAb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728472AbgDHSaq (ORCPT + 99 others); Wed, 8 Apr 2020 14:30:46 -0400 Received: from mail-wr1-f47.google.com ([209.85.221.47]:41742 "EHLO mail-wr1-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726860AbgDHSaq (ORCPT ); Wed, 8 Apr 2020 14:30:46 -0400 Received: by mail-wr1-f47.google.com with SMTP id h9so9018639wrc.8; Wed, 08 Apr 2020 11:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7ZBrTsWHmyC1d0UWFrbZBnZibup3HzRLEyFXJCjcQQY=; b=a6qweAAbLT7fxKtpvIoXTiOGfvKdvU4itE2OBrQ86ulNAzk1PcLnlBEzLwCw+o8giY +E0vLo83Pu4OIFcqSbEI2V3p/YWxavyotQqURXmZDt4TxxD8Wdpm6VdnOypnyBea0jLv K1C73gPlrYV1zCuFUP0pfsT39EiCPuQewF98sb0TFqMT8KLjh1eNWANyXKrDR2oiAMjT tUGPsuT+sp8kcN/MyrNR13tkTubFH+Z0seZmTzZKptcCxaT2as36XSJkKEGL4OxAswhK muAl1SRgHQ2e9iLN+CMBjdCmXciG7/dg6LzXY3JOEQOeK5mV4bsrvrHVtbsPSLvIvhpc Qjjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7ZBrTsWHmyC1d0UWFrbZBnZibup3HzRLEyFXJCjcQQY=; b=Y/+QI8OHY9ieMj9hsWCKccRQqBxZ7o8eLjnICc5bYy/gajBxUC9GaNXlXu+uMT4tZ5 TAJ49l1NlL0C188sz063nTDy36DjcNOWcf768dxDH+EOES4107Tb0MdtdKVuaMzdBCuX UHWlP1OXsBKYUP9bDKh9CSkN/gyIAeOfYgX7aSGbPKwTd812H4ILf6IAg1F68YgULq0J U9joA0uOG++N+0d4C7x6wHSrQ4vOxPH4/Duwj0izVNWymQIWI/+pJkWSp9bRuPZxi97u jb7b8lTsqiduiSDgO9Eu9Cfoud3bc4mC5zaADLtmcSky8fKxOFeVChcAVVZiKlaA26uP 8N9g== X-Gm-Message-State: AGi0PuaZbZ2+GP6zu1THdJ/pOlfauaQDjiCWqrjy9DT7r+uJNlh/bcz5 c7mONkcsqEV/8tNh0m/dAgDyFErPysnjrg== X-Received: by 2002:adf:fe89:: with SMTP id l9mr10080356wrr.263.1586370644188; Wed, 08 Apr 2020 11:30:44 -0700 (PDT) Received: from kwango.redhat.com (ip-94-112-129-237.net.upcbroadband.cz. [94.112.129.237]) by smtp.gmail.com with ESMTPSA id g8sm419559wmk.29.2020.04.08.11.30.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Apr 2020 11:30:43 -0700 (PDT) From: Ilya Dryomov To: Linus Torvalds 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 Message-Id: <20200408183007.19305-1-idryomov@gmail.com> X-Mailer: git-send-email 2.19.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-)