mds: wait for unlink operation to finish#47399
Conversation
32ec0c4 to
aabf691
Compare
batrick
left a comment
There was a problem hiding this comment.
Well done tracking that down!!
|
@lxbsz This change seems to be causing fsstress.sh failures here: https://pulpito.ceph.com/vshankar-2022-08-12_09:34:24-fs-wip-vshankar-testing1-20220812-072441-testing-default-smithi/ (check for fsstress.sh failures) Without this changes, there are no such failures: https://pulpito.ceph.com/vshankar-2022-08-18_04:30:42-fs-wip-vshankar-testing1-20220818-082047-testing-default-smithi/ Please take a look. |
We need to check the Fixed it and I will run the |
|
All the fs:upgrade:featureful_client:upgraded_client |
Will review it today. |
|
@lxbsz I'm seeing failures which should have been fixed by this change. See: https://pulpito.ceph.com/vshankar-2023-03-07_05:15:12-fs-wip-vshankar-testing-20230307.030510-testing-default-smithi/7195941/ |
Okay, I will check this tomorrow. Thanks. |
|
We need to drop the locks before queue it into waiter list:
I am running the test. @vshankar Let me run the |
In the else scope the remote_dn must be non-auth. https://tracker.ceph.com/issues/56695 Signed-off-by: Xiubo Li <xiubli@redhat.com>
7e7f7c6 to
9506b4d
Compare
|
Updated it. We need to wait for the unlink to finish until the There have 3 cases: I am still testing it. |
If one inode has more than one link and after one of its dentries being unlinked it will be moved to stray directory. Before the linkmerge/migrate finises if a link request comes it will fail with -EXDEV. While in non-multiple link case it's also possible that the clients could pass one invalidate ino, which is still under unlinking. Just wait the linkmerge/migrate or purge to finish. https://tracker.ceph.com/issues/56695 Signed-off-by: Xiubo Li <xiubli@redhat.com>
|
@vshankar The I have also tried to run the same tests by reverting these patches in this PR still have the same issue and took a long time, till now one has died and the others still running. I am not sure whether my qa test commands' issue or not. Could you add this into your next test ? |
Sure. I think your change in #47399 (comment) would fix the pending issue. I'll include this change in my next run. |
Today I checked the qa test failures again carefully. All the |
Run the tests again twice by pulling the latest https://pulpito.ceph.com/xiubli-2023-03-23_04:49:00-fs:workload-wip-20230316-1328-unlink-distro-default-smithi/ |
|
fs suite run: https://pulpito.ceph.com/?branch=wip-vshankar-testing-20230330.105356 (test run review is in progress - will update once done) |
The pjd failures are fixed - nice work @lxbsz |
|
jenkins test windows |
|
jenkins make check arm64 |
1 similar comment
|
jenkins make check arm64 |
|
jenkins test make check arm64 |
* refs/pull/47399/head: mds: wait the linkmerge/migrate to finish after unlink mds: remove false is_auth() check for remote_dn Reviewed-by: Ramana Raja <rraja@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
If the previous unlink is not finished yet but the corressponding
inode has been projected and it dentry parent has been changed to
stray. The new comming link request will fail with -EXDEV.
Just wait the previous unlink to finish and unlink the dn from
parent directory.
https://tracker.ceph.com/issues/56695
Signed-off-by: Xiubo Li xiubli@redhat.com
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 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 windows