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: enqueue ~mdsdir at the time of enqueing root #51539
Conversation
89a2ba6
to
a1da052
Compare
If in case there are thousands of inodes to scrub in mdsdir, it is going to take some time for the scrub at root to end up in scrubbing_map i.e. scrub status would show something like this initially
until scrub for root kicks in, im currently trying to figure out a way such that the scrub status is not empty even at time of scrubbing mdsdir at root. |
359d04a
to
0ae6ef3
Compare
8c62cad
to
f9ebf34
Compare
Just FYI, this PR is an enhancement of #47649 |
working as expected, run all green(except one failure where job failed due to some warning but tests went fine) - http://pulpito.front.sepia.ceph.com/dparmar-2023-05-23_00:32:04-fs:functional-wip-59350-distro-default-smithi/ |
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.
Otherwise LGTM.
This would avoid the need to run individual scrubs for ~mdsdir and root, i.e. run both the scrubs under the same header, this also helps to avoid edge case where in case ~mdsdir is huge and it's taking time to scrub it, the scrub status would report something like this until root inodes kick in: { "status": "scrub active (757 inodes in the stack)", "scrubs": {} } Fixes: https://tracker.ceph.com/issues/59350 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Previouly, two individual scrubs were initiated to scrub ~mdsdir at root where the ~mdsdir scrub wasn't provided any tag thus, it was necessary to not dump it's values for output of 'scrub start'. Now since mdsdir and root scrub run under single header, there is no need for this anymore, thus removing this redundant code. Fixes: https://tracker.ceph.com/issues/59350 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Previously when ~mdsdir was scrubbed at CephFS root, it's header was kept empty, thus it became necessary to not dump it's values for 'scrub status'. Now since both the scrubs(~mdsdir and root) run under the same header, this code is no more needed. Fixes: https://tracker.ceph.com/issues/59350 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Code has been changed, in order to scrub ~mdsdir at root, recursive flag also needs to be provided along with scrub_mdsdir. Fixes: https://tracker.ceph.com/issues/59350 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
for mdsdir scrub at CephFS root. Fixes: https://tracker.ceph.com/issues/59350 Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
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.
LGTM
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 would avoid the need to run individual scrubs for
~mdsdir and root, i.e. run both the scrubs under the
same header, this also helps to avoid edge case where
in case ~mdsdir is huge and it's taking time to scrub it,
the scrub status would report something like this until
root inodes kick in:
Fixes: https://tracker.ceph.com/issues/59350
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "pacific"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
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 cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows