New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mds: track global rstat progagation #32126
Conversation
d150211
to
dedb15c
Compare
e64d466
to
d2c9cfa
Compare
dc774e9
to
69eaac7
Compare
Supersedes #22781. |
test case added |
return; | ||
|
||
if (pf->rstat.dirty_from.is_zero()) | ||
dout(1) << __func__ << " zero dirty_from " << *this << dendl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: we probably don't want debug level 1 here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"rstat dirty and dirty_from is zero" is unexpected. should only happens when upgrade from old mds
f9c3f8d
to
848d5b4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this also fixing https://tracker.ceph.com/issues/36171 ? If so, please update the tracker/commits.
return -EINVAL; | ||
} | ||
|
||
CInode *root = mdcache->get_root(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not have this command accept any path?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
because this implementation can only tracks if rstats are propagated to root.
f->open_object_section("root rstats"); | ||
f->dump_unsigned("rbytes", rstat.rbytes); | ||
f->dump_unsigned("rfiles", rstat.rfiles); | ||
f->dump_unsigned("rsubdirs", rstat.rsubdirs); | ||
f->dump_unsigned("rsnaps", rstat.rsnaps); | ||
f->dump_stream("rctime") << rstat.rctime; | ||
f->dump_stream("flushed_to") << locker->get_rstat_flushed_to(); | ||
f->dump_stream("mds_time") << ceph_clock_now(); | ||
f->close_section(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
f->open_object_section("root rstats"); | |
f->dump_unsigned("rbytes", rstat.rbytes); | |
f->dump_unsigned("rfiles", rstat.rfiles); | |
f->dump_unsigned("rsubdirs", rstat.rsubdirs); | |
f->dump_unsigned("rsnaps", rstat.rsnaps); | |
f->dump_stream("rctime") << rstat.rctime; | |
f->dump_stream("flushed_to") << locker->get_rstat_flushed_to(); | |
f->dump_stream("mds_time") << ceph_clock_now(); | |
f->close_section(); | |
f->open_object_section("root rstats"); | |
f->dump_object("rstats", rstat); | |
f->dump_string("path", path); | |
f->dump_stream("flushed_to") << locker->get_rstat_flushed_to(); | |
f->dump_stream("mds_time") << ceph_clock_now(); | |
f->close_section(); |
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will include 'dirty_from' field of rstat, which is meaningless for root inode
cb495bf
to
b0059be
Compare
no. it doesn't |
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
jenkins retest this please |
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
(closed since @ukernel feels that this is still buggy and is not worth investing time on) |
Fixes: https://tracker.ceph.com/issues/24725
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard backend
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox