Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp729895ybs; Sun, 24 May 2020 19:57:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxf4NCNsOOMElj3XvaPK61oJu4CFg6DZU3drwTT3LtT3kYym8/QUG3A/bGpbBhyPgkcxGk/ X-Received: by 2002:aa7:c6d5:: with SMTP id b21mr12822809eds.97.1590375429991; Sun, 24 May 2020 19:57:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590375429; cv=none; d=google.com; s=arc-20160816; b=DRoPrH7heLK7xJtk8mQkjQyVFrRa0kTYy78/4e3u8oU7qrtdbcj3rz/esOC6ICPhD2 dbR/MvUid+xMW9gGE3KI9ZTMFVKjEadfwjI5vkfG8cGp/FYOtvOVzrBn5uOIleptzBwR vLRnNCAmzdxlDHtvdxsqbNpOySDVwTjEwO2F28fBzt20Ek27gchoVoEtnUaejW4VWQ3n Vz5vw1aE7GdPGVAolWBhTPhZ113zdtS3K6crDnWev5LI2liaWS7HbdRg1XbHAc1XSp2f Pt0MBILfnnOr8ecMwGKQ/FB9a0hYmjhNLGHAe1dzGKpj0yFJa60cegoyMs/PCehahdxD T9eA== 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=0KTulik1Nw6UnTFr4ECUxiGZmmAKN8Jgtu7klUu9+kQ=; b=UhAla/YF3hfPXGOxIJT0hg+KivBqTaLG2qLgxzoxShLia+6ARrsHBdNIn2Def4+BtB XcP8NM0uzIlIBxsikjoKlYrcLS3S/j3BsaWvSqG1GJ0QO193y5/c0Ub74ZunppxiT83C BUjzm58PIMkODm2i9mnqjl2m75D4gGQXU01jsuwCtFcGmGGq/+DxSuZpWqpSeclC3g04 Q8QbienPurZxKqvtHJDILa46S8ggByCD6vo3SItpjResrL6kUwG1BO5J0Z/bu4LkrUlh MLZma3mSC1Mz50pSD/pqkMMIyw0mI4nU+B5CqCcRpeQB9a1A5H7koJfNEelFNZSO+IWl EVug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nHmD6bYE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id b6si8366364edw.590.2020.05.24.19.56.47; Sun, 24 May 2020 19:57:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=nHmD6bYE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S2388750AbgEYCvK (ORCPT + 99 others); Sun, 24 May 2020 22:51:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388398AbgEYCvK (ORCPT ); Sun, 24 May 2020 22:51:10 -0400 Received: from mail-pj1-x1044.google.com (mail-pj1-x1044.google.com [IPv6:2607:f8b0:4864:20::1044]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC4C1C061A0E; Sun, 24 May 2020 19:51:08 -0700 (PDT) Received: by mail-pj1-x1044.google.com with SMTP id ci21so7949893pjb.3; Sun, 24 May 2020 19:51:08 -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=0KTulik1Nw6UnTFr4ECUxiGZmmAKN8Jgtu7klUu9+kQ=; b=nHmD6bYEjdy89LXBZiccA1HR8SKfRHmmze16HYNFa0BoHvddtGrEPfCuPiju0FY5e+ uSJC6WC0bumFpfHFloVziH2bmU02a1x7InZshsa+uWm4aXZ82b2tUhtRxUjGckfI4tKp NhRuS0BL1ZY9BVw64howvx0RxHu0wa2RqJtbKNrcnl4E/z+YZa4ael/By/9AOqBxmjMS TXaWBcWmjNzdfyfK+u64fT5+XL9aguMsdRjFABayTixOyU6wOIAfdkLQhk6NLeRLr5Au an0BB1aWj7Qf69hjoQOHRfo1gf+lTKrggsprt5PKtxw6EwnlI6DC0ZcvZaxAzQFjeS+Z OV/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:mime-version :content-transfer-encoding; bh=0KTulik1Nw6UnTFr4ECUxiGZmmAKN8Jgtu7klUu9+kQ=; b=OBDFOlL6lAvKjo/F+vDiyHUlZo2J7TITemQAR7/gehVW5phMjcOMwmi111KGkVYLuw DB/7kzkLyb5/Vq77ph5XKnweEJHVMDzaa0avHDhsCpDpsXpCIYNHekh2oIMKt5q5poEx 1elFVtWVFaux4IeOCHQtd5QjMdl6KF+z6SQQJvpDUJ9rg2BtlqFUrTxD4XkVczW7yylh PAXrQ3WnwPdyYdAQu6IGmxaTmfCp+cssq+cXs0dWCFuratO8HnkOzx6DcVqCV0vGqfKV SCG5QA7XizLMOvXuxnAWKMy3TddH9IyIiY3hlEfiU7dNK0mrdSLZ9is4EqNMitONRUWQ W0qA== X-Gm-Message-State: AOAM532yAPSqxHQ8wVQRY/Ru71xvlD0uxCguRwCvP+o667gbWyrbZ3gU 3CVmmQkKR8loiNBsPlJj1A2+xcVx X-Received: by 2002:a17:90a:fe96:: with SMTP id co22mr17356494pjb.220.1590375068185; Sun, 24 May 2020 19:51:08 -0700 (PDT) Received: from MacBook-Pro.mshome.net ([122.224.153.228]) by smtp.googlemail.com with ESMTPSA id l10sm11804420pfd.70.2020.05.24.19.51.04 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 May 2020 19:51:07 -0700 (PDT) From: Yanhu Cao To: jlayton@kernel.org Cc: idryomov@gmail.com, ceph-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Yanhu Cao , Yanhu Cao , kbuild test robot Subject: [v2] ceph: show max caps in debugfs caps file Date: Mon, 25 May 2020 10:50:49 +0800 Message-Id: <20200525025049.4292-1-gmayyyha@gmail.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) 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 before ------ total 1286 avail 1005 used 281 reserved 0 min 1024 after ----- total 1286 avail 1005 used 281 limit 261 reserved 0 min 1024 Signed-off-by: Yanhu Cao Signed-off-by: Yanhu Cao Reported-by: kbuild test robot --- fs/ceph/caps.c | 6 ++++-- fs/ceph/debugfs.c | 8 +++++--- fs/ceph/mds_client.c | 1 + fs/ceph/mds_client.h | 4 +++- fs/ceph/super.h | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/fs/ceph/caps.c b/fs/ceph/caps.c index 5f3aa4d607de..17191d6cd3b5 100644 --- a/fs/ceph/caps.c +++ b/fs/ceph/caps.c @@ -404,8 +404,8 @@ void ceph_put_cap(struct ceph_mds_client *mdsc, struct ceph_cap *cap) } void ceph_reservation_status(struct ceph_fs_client *fsc, - int *total, int *avail, int *used, int *reserved, - int *min) + int *total, int *avail, int *used, int *limit, + int *reserved, int *min) { struct ceph_mds_client *mdsc = fsc->mdsc; @@ -417,6 +417,8 @@ void ceph_reservation_status(struct ceph_fs_client *fsc, *avail = mdsc->caps_avail_count; if (used) *used = mdsc->caps_use_count; + if (limit) + *limit = mdsc->caps_limit; if (reserved) *reserved = mdsc->caps_reserve_count; if (min) diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c index 481ac97b4d25..617020261902 100644 --- a/fs/ceph/debugfs.c +++ b/fs/ceph/debugfs.c @@ -138,16 +138,18 @@ static int caps_show(struct seq_file *s, void *p) { struct ceph_fs_client *fsc = s->private; struct ceph_mds_client *mdsc = fsc->mdsc; - int total, avail, used, reserved, min, i; + int total, avail, used, limit, reserved, min, i; struct cap_wait *cw; - ceph_reservation_status(fsc, &total, &avail, &used, &reserved, &min); + ceph_reservation_status(fsc, &total, &avail, &used, + &limit, &reserved, &min); seq_printf(s, "total\t\t%d\n" "avail\t\t%d\n" "used\t\t%d\n" + "limit\t\t%d\n" "reserved\t%d\n" "min\t\t%d\n\n", - total, avail, used, reserved, min); + total, avail, used, limit, reserved, min); seq_printf(s, "ino issued implemented\n"); seq_printf(s, "-----------------------------------------------\n"); diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 7c63abf5bea9..d26bc065f5f5 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -1920,6 +1920,7 @@ int ceph_trim_caps(struct ceph_mds_client *mdsc, int max_caps) { int trim_caps = session->s_nr_caps - max_caps; + mdsc->caps_limit = max_caps; dout("trim_caps mds%d start: %d / %d, trim %d\n", session->s_mds, session->s_nr_caps, max_caps, trim_caps); diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h index 903d9edfd4bf..840d47976dbb 100644 --- a/fs/ceph/mds_client.h +++ b/fs/ceph/mds_client.h @@ -445,7 +445,9 @@ struct ceph_mds_client { struct list_head cap_wait_list; int caps_total_count; /* total caps allocated */ int caps_use_count; /* in use */ - int caps_use_max; /* max used caps */ + int caps_use_max; /* max used caps, + limited by client */ + int caps_limit; /* limited by mds */ int caps_reserve_count; /* unused, reserved */ int caps_avail_count; /* unused, unreserved */ int caps_min_count; /* keep at least this many diff --git a/fs/ceph/super.h b/fs/ceph/super.h index 60aac3aee055..052d7725761d 100644 --- a/fs/ceph/super.h +++ b/fs/ceph/super.h @@ -700,7 +700,7 @@ extern void ceph_unreserve_caps(struct ceph_mds_client *mdsc, struct ceph_cap_reservation *ctx); extern void ceph_reservation_status(struct ceph_fs_client *client, int *total, int *avail, int *used, - int *reserved, int *min); + int *limit, int *reserved, int *min); -- 2.24.3 (Apple Git-128)