mds: abort fragment/export when quiesced#57059
Conversation
|
I've constructed a unit test to reproduce the issue. I'll finish this up tomorrow. |
41ba94d to
3b57d8c
Compare
|
This PR is under test in https://tracker.ceph.com/issues/65661. |
leonid-s-usov
left a comment
There was a problem hiding this comment.
Looks great! Canceling the fragmentation due to a quiesce is a good solution, and thanks for the test! Does it cover both fragmenting and exporting?
As for the is_wrlocked(quiescelock), I'd prefer to avoid exposing that implementation detail. Isn't that check equivalent to asking whether it's quiesced? Being xlocked is the only reason for a local wrlock to fail, isn't it?
ef2d139 to
bc4e33c
Compare
|
Fixed issue observed in /teuthology/leonidus-2024-04-26_10:54:14-fs-wip-lusov-quiescer-fixes-distro-default-smithi/7674683/teuthology.log |
|
jenkins test make check |
* refs/pull/57059/head: mds: do not try fragmenting or exporting a quiesced directory mds: pass bypassfreezing to parent auth pin req qa: add quiesce tests during fragmentation qa: translate empty output from rank_tell to empty dict
|
jenkins test windows |
|
jenkins test make check |
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Not all commands return JSON, like `dirfrag split`. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Reproduces: https://tracker.ceph.com/issues/65603 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
Credit to Leonid for first noticing this. Fixes: https://tracker.ceph.com/issues/65603 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This is an optimization to obviate repeated calls to acquire_locks. Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
And handle inode becoming quiesced after op is created. Fixes: https://tracker.ceph.com/issues/65603 Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
This PR is under test in https://tracker.ceph.com/issues/65694. |
|
jenkins test make check |
|
jenkins test api |
|
jenkins test api |
|
jenkins test make check |
|
https://tracker.ceph.com/issues/65716 Not a blocker to merge this in my opinion; it is a related but different type of failure. |
|
jenkins test make check arm64 |
|
jenkins test api |
|
jenkins test make check arm64 |
Fixes: https://tracker.ceph.com/issues/65603
Still working on a more clear commit message and maybe a dedicated test.
Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e