Skip to content

client: fix unmount hang after lookups#62488

Merged
vshankar merged 3 commits intoceph:mainfrom
dparmar18:i70553
Aug 11, 2025
Merged

client: fix unmount hang after lookups#62488
vshankar merged 3 commits intoceph:mainfrom
dparmar18:i70553

Conversation

@dparmar18
Copy link
Contributor

@dparmar18 dparmar18 commented Mar 25, 2025

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. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

@github-actions github-actions bot added cephfs Ceph File System tests labels Mar 25, 2025
@dparmar18 dparmar18 force-pushed the i70553 branch 2 times, most recently from 674cf93 to ca6a145 Compare March 27, 2025 11:52
@dparmar18 dparmar18 changed the title [DO NOT REVIEW] client: fix unmount hang after lookups client: fix unmount hang after lookups Apr 8, 2025
@dparmar18 dparmar18 marked this pull request as ready for review April 8, 2025 13:57
@dparmar18
Copy link
Contributor Author

Locally:

[       OK ] LibCephFS.OpenatFilePathUnmountCheck (149 ms)
[----------] 100 tests from LibCephFS (103914 ms total)

[----------] Global test environment tear-down
[==========] 100 tests from 1 test suite ran. (103914 ms total)
[  PASSED  ] 100 tests.

@dparmar18 dparmar18 force-pushed the i70553 branch 3 times, most recently from 74da2cd to 9d4559f Compare April 8, 2025 23:37
@dparmar18 dparmar18 requested review from a team and vshankar April 8, 2025 23:38
@dparmar18
Copy link
Contributor Author

jenkins test make check

Copy link
Contributor

@vshankar vshankar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nits. otherwise lgtm.

@dparmar18
Copy link
Contributor Author

jenkins retest this please

@dparmar18 dparmar18 requested a review from vshankar May 13, 2025 11:35
@dparmar18
Copy link
Contributor Author

@batrick @vshankar RFR

@dparmar18
Copy link
Contributor Author

jenkins test make check arm64

Copy link
Contributor

@vshankar vshankar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise LGTM.

@dparmar18
Copy link
Contributor Author

last push: rebased + fixed conflict

@github-actions
Copy link

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

@vshankar
Copy link
Contributor

@dparmar18 please rebase. will put this to test next.

Fixes: https://tracker.ceph.com/issues/70553
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
adds an extra ref to the root which leads to ref leaks:
2025-03-26T15:37:55.162+0530 7fadb8d41640  1 client.4293 dump_inode: DISCONNECTED inode 0x1 #0x1 ref 2 0x1.head(faked_ino=0 nref=2 ll_ref=0 cap_refs={1024=0} open={} mode=41777 size=0/0 nlink=1 btime=2025-03-26T15:37:39.967146+0530 mtime=2025-03-26T15:37:45.113229+0530 ctime=2025-03-26T15:37:45.136266+0530 change_attr=3 caps=pAsLsXs(0=pAsLsXs) COMPLETE has_dir_layout 0x7fad78006970)

which leads to:
2025-03-26T15:37:55.162+0530 7fadb8d41640  2 client.4293 cache still has 1+1 items, waiting (for caps to release?)

Fixes: https://tracker.ceph.com/issues/70553
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Lookup on non-dir inode is incorrect. Client::_lookup did check for it
but the order needed to be correct i.e. check for non-dir inode before
anything.

Fixes: https://tracker.ceph.com/issues/70553
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
@dparmar18
Copy link
Contributor Author

@dparmar18 please rebase. will put this to test next.

rebased @vshankar

@vshankar
Copy link
Contributor

This PR is under test in https://tracker.ceph.com/issues/72244.

Copy link
Contributor

@vshankar vshankar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vshankar
Copy link
Contributor

vshankar commented Aug 5, 2025

@batrick @tchaikov - do you have another more comments on this change?

@vshankar vshankar dismissed stale reviews from tchaikov and batrick August 11, 2025 03:16

Seems like there isn't any objection to this change.

@vshankar vshankar merged commit 416c794 into ceph:main Aug 11, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants