From: Yanhu Cao <gmayyyha@gmail.com>
To: jlayton@kernel.org
Cc: idryomov@gmail.com, ceph-devel@vger.kernel.org,
linux-kernel@vger.kernel.org, Yanhu Cao <gmayyyha@gmail.com>,
Yanhu Cao <jrcaoyanhu@jd.com>, kbuild test robot <lkp@intel.com>
Subject: [v2] ceph: show max caps in debugfs caps file
Date: Mon, 25 May 2020 10:50:49 +0800 [thread overview]
Message-ID: <20200525025049.4292-1-gmayyyha@gmail.com> (raw)
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 <gmayyyha@gmail.com>
Signed-off-by: Yanhu Cao <jrcaoyanhu@jd.com>
Reported-by: kbuild test robot <lkp@intel.com>
---
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)
next reply other threads:[~2020-05-25 2:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-25 2:50 Yanhu Cao [this message]
2020-05-26 17:45 ` [v2] ceph: show max caps in debugfs caps file Jeff Layton
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=20200525025049.4292-1-gmayyyha@gmail.com \
--to=gmayyyha@gmail.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=jlayton@kernel.org \
--cc=jrcaoyanhu@jd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
/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.