Received: by 10.213.65.68 with SMTP id h4csp4135609imn; Tue, 10 Apr 2018 09:45:28 -0700 (PDT) X-Google-Smtp-Source: AIpwx48rRhN8WOxjvw9sgpXGIUcatUTTo8egQRW/2AjTAB0Nme452qDTquAsLmTDDQ35hXIT5Qun X-Received: by 2002:a17:902:3381:: with SMTP id b1-v6mr1227272plc.214.1523378728198; Tue, 10 Apr 2018 09:45:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523378728; cv=none; d=google.com; s=arc-20160816; b=QVlShTKhi7jotDqGRUVrxT6uvBsUZ0eEbIzJH6ETY4uyR8FYxFdMOPydFnhvW09YkZ PrPlyfDjndzI457GpU6BH5w4VSjIzb71IV3gfUs7o+c560kaYM30R2T/YoggKyRvUQp4 OWvlmoi3Apu8J72WiErAumND8weYly1Hg3G9M3WnAHgEmhIP5wVF9LJ9FUquFmMvUN04 v91JQYxmMegKoGApld5cfs9YayS9J+YxYjkO30hT0NngH5cFjY3A9EvrHEHuFPCo8mDv 4HKje1QfYXlPGn0qhWYbwVKnDHoWfdEIgfaMTNULzxcXhIBRqQdWZisQR8euXESWCDu7 Vf5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=0DIiiudJy9TfY+J9hpXExTRlaavHdgUwRob0CEZI2Iw=; b=frCacW2fyUPOCDNj6TgwgkRgLV0tiu1X9AKYeyPgtt4VJycn2GvSBMYeWy+6o7hpYf c9KcRkBuO36dNSk/ZEgrDGgYZWlevOThDqDKc6yzW9YLaMwqCe0WmBUTsZBCyFYIuDnA kQdy3BiLAE7YpBIFb4fy48t8Ejr5Ka8UYm2puOLxWs55n8pCczhZLGBpHvLyN0srb/l7 IUfD136i7Nja6xTQLVoYSgdXOYXliFzNUDBBQ/wc2Eax2Xvsg+Xm3ePkaKimbc3pnyFe 1/VsueiF9iw7VK+LOe8F9mWwPviwj3brq/020CAWYb6bhsk455f9I5SgobhM4v3qJfLn Qbgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=aLTamoMp; 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 r14-v6si2985185pls.697.2018.04.10.09.44.51; Tue, 10 Apr 2018 09:45:28 -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=aLTamoMp; 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 S1751942AbeDJQil (ORCPT + 99 others); Tue, 10 Apr 2018 12:38:41 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:45446 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751737AbeDJQij (ORCPT ); Tue, 10 Apr 2018 12:38:39 -0400 Received: by mail-pf0-f194.google.com with SMTP id l27so8737794pfk.12; Tue, 10 Apr 2018 09:38:39 -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; bh=0DIiiudJy9TfY+J9hpXExTRlaavHdgUwRob0CEZI2Iw=; b=aLTamoMp/rkPYurW9M6ZdQxTYR7BQL7qBaIYAZssZJBLJ1h/H/OCTniQ9HuE0NlMVR DwNO3UNPRH2IBP0Up1kdBC46N14Fqh1psW+fa6LDIOfdTZ54SDXSsNH9p1xpp0kuUFlx P5s9aJvuO7Dj7AeS3Bb8aiVd0FfszSBP7fE8u0+v+l2KlpyJ+aqCeAvx3+CIP4M/SJOT 8ZbxF9JQyfQNlyRYX77D44Pu+a7iOjW1I1JJYSRdWtIlNzOJcjuzK6J99PbYYvTw2IM4 8uT0nW2cWSL8rRr3tsNyyK3tZKEkgSIaCpvKx6DfbTGjpMNswHjxobjdOmReSHRcBo14 Pd/Q== 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; bh=0DIiiudJy9TfY+J9hpXExTRlaavHdgUwRob0CEZI2Iw=; b=HefsfwUrxLobEOiK8juIqOJB8q4eUI3+e14AcOVy6IrVpz9FEi9HTOIAc/mQsRq7Lq KdKiC9eu3d0mbgEZfdzO7LwihGchGv0ETxmtYI+m7D5d0lLIKV9aknR9LjGDOEwFEv6e iYONnhWqSbBr+/6sz61BHvoevIEoBkyDoXcOHc4tqbTaKM2V3ZxiBx/DuHqMNQJuXyfA bN53KZ+8eIcaNUfKsFlCUVaIKAhhNtY7fJEyBr4WiZS056SIT0Sng4yH7Ak69YS+mw2G 3TCWtJxaUJrAjQbZfuetnNjXXbimE+WSIGaj3Fz3WbYecX0BP+StBjhSLiRKjrZkAkCW kE9Q== X-Gm-Message-State: ALQs6tBNs5uRxFnIhe1f8OAthzaILs2+XC4q6ygiBSVvligJo13CuYid c/ArtTvU6kubLrX7IX+xVzg= X-Received: by 10.99.120.196 with SMTP id t187mr827097pgc.149.1523378318753; Tue, 10 Apr 2018 09:38:38 -0700 (PDT) Received: from orange.brq.redhat.com. (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id w88sm6738851pfa.150.2018.04.10.09.38.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Apr 2018 09:38:38 -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 4.17-rc1 Date: Tue, 10 Apr 2018 18:38:11 +0200 Message-Id: <1523378291-18095-1-git-send-email-idryomov@gmail.com> X-Mailer: git-send-email 2.4.3 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 0adb32858b0bddf4ada5f364a84ed60b196dbcda: Linux 4.16 (2018-04-01 14:20:27 -0700) are available in the git repository at: https://github.com/ceph/ceph-client.git tags/ceph-for-4.17-rc1 for you to fetch changes up to 9122eed5281e89bdb02162a8ecb3cc13ffc8985e: ceph: quota: report root dir quota usage in statfs (2018-04-02 11:17:53 +0200) ---------------------------------------------------------------- The big ticket items are: - support for rbd "fancy" striping (myself). The striping feature bit is now fully implemented, allowing mapping v2 images with non-default striping patterns. This completes support for --image-format 2. - CephFS quota support (Luis Henriques and Zheng Yan). This set is based on the new SnapRealm code in the upcoming v13.y.z ("Mimic") release. Quota handling will be rejected on older filesystems. - memory usage improvements in CephFS (Chengguang Xu). Directory specific bits have been split out of ceph_file_info and some effort went into improving cap reservation code to avoid OOM crashes. Also included a bunch of assorted fixes all over the place from Chengguang and others. ---------------------------------------------------------------- Chengguang Xu (18): ceph: add newline to end of debug message format ceph: keep consistent semantic in fscache related option combination libceph, ceph: change permission for readonly debugfs entries libceph: fix misjudgement of maximum monitor number ceph: use seq_show_option for string type options libceph: adding missing message types to ceph_msg_type_name() ceph: adding protection for showing cap reservation info ceph: optimizing cap allocation ceph: release unreserved caps if having enough available caps ceph: optimizing cap reservation ceph: change variable name to follow common rule ceph: mark the cap cache as unreclaimable ceph: filter out used flags when printing unused open flags libceph, ceph: add __init attribution to init funcitons ceph: optimize mds session register ceph: optimize memory usage ceph: return proper bool type to caller instead of pointer ceph: fix invalid point dereference for error case in mdsc destroy Colin Ian King (1): rbd: fix spelling mistake: "reregisteration" -> "reregistration" Ilya Dryomov (34): rbd: set max_segment_size to UINT_MAX libceph: eliminate overflows in ceph_calc_file_object_mapping() libceph, ceph: change ceph_calc_file_object_mapping() signature rbd: start enums at 1 instead of 0 libceph, rbd: new bio handling code (aka don't clone bios) rbd: remove bio cloning helpers rbd: don't (ab)use obj_req->pages for stat requests rbd: get rid of img_req->copyup_pages libceph: introduce BVECS data type rbd: move from raw pages to bvec data descriptors libceph: handle zero-length data items rbd: new request handling code rbd: remove old request handling code rbd: simplify rbd_osd_req_create() rbd: add img_req->op_type field rbd: update rbd_img_request_submit() signature rbd: new request completion code rbd: remove old request completion code rbd: remove obj_req->flags field rbd: store data_type in img_req instead of obj_req libceph: striping framework implementation libceph, ceph: move ceph_calc_file_object_mapping() to striper.c rbd: incorporate ceph_object_extent rbd: move to obj_req->img_extents rbd: create+truncate for whole-object layered discards rbd: switch to common striping framework rbd: remove rbd_img_request_fill() and helpers rbd: get rid of img_req->{offset,length} rbd: remove rbd_parent_request_{create,destroy}() rbd: introduce OWN_BVECS data type rbd: allow "fancy" striping rbd: remove redundant declaration of rbd_spec_put() rbd: move rbd_get_client() below rbd_put_client() rbd: get the latest osdmap when using an existing client Kyle Spiers (1): rbd: remove VLA usage Luis Henriques (8): ceph: quota: add initial infrastructure to support cephfs quotas ceph: quota: support for ceph.quota.max_files ceph: quota: don't allow cross-quota renames ceph: quota: support for ceph.quota.max_bytes ceph: quota: update MDS when max_bytes is approaching ceph: quota: cache inode pointer in ceph_snap_realm ceph: quota: add counter for snaprealms with quota ceph: quota: report root dir quota usage in statfs Yan, Zheng (5): ceph: invalidate pages that beyond EOF in ceph_writepages_start() ceph: don't wait on writeback when there is no more dirty pages ceph: rename function drop_leases() to a more descriptive name ceph: don't check quota for snap inode ceph: fix root quota realm check Documentation/filesystems/ceph.txt | 16 + drivers/block/rbd.c | 2452 ++++++++++++++---------------------- fs/ceph/Makefile | 2 +- fs/ceph/addr.c | 63 +- fs/ceph/cache.c | 4 +- fs/ceph/caps.c | 128 +- fs/ceph/debugfs.c | 8 +- fs/ceph/dir.c | 204 +-- fs/ceph/file.c | 117 +- fs/ceph/inode.c | 26 +- fs/ceph/ioctl.c | 13 +- fs/ceph/locks.c | 20 +- fs/ceph/mds_client.c | 87 +- fs/ceph/mds_client.h | 4 + fs/ceph/quota.c | 361 ++++++ fs/ceph/snap.c | 2 + fs/ceph/super.c | 50 +- fs/ceph/super.h | 42 + fs/ceph/xattr.c | 44 + include/linux/ceph/ceph_features.h | 1 + include/linux/ceph/ceph_fs.h | 17 + include/linux/ceph/libceph.h | 1 + include/linux/ceph/messenger.h | 101 +- include/linux/ceph/osd_client.h | 19 +- include/linux/ceph/osdmap.h | 6 - include/linux/ceph/striper.h | 69 + net/ceph/Makefile | 1 + net/ceph/ceph_common.c | 8 +- net/ceph/crypto.c | 6 +- net/ceph/debugfs.c | 17 +- net/ceph/messenger.c | 188 ++- net/ceph/mon_client.c | 2 +- net/ceph/osd_client.c | 67 +- net/ceph/osdmap.c | 71 -- net/ceph/striper.c | 261 ++++ 35 files changed, 2558 insertions(+), 1920 deletions(-) create mode 100644 fs/ceph/quota.c create mode 100644 include/linux/ceph/striper.h create mode 100644 net/ceph/striper.c