Skip to content

client: set LIBMOUNT_FORCE_MOUNT2=always#57170

Merged
batrick merged 1 commit intoceph:mainfrom
sur5r:issue62664
May 23, 2024
Merged

client: set LIBMOUNT_FORCE_MOUNT2=always#57170
batrick merged 1 commit intoceph:mainfrom
sur5r:issue62664

Conversation

@sur5r
Copy link
Contributor

@sur5r sur5r commented Apr 30, 2024

This is a workaround for libmount 2.38 or later on linux kernel 5.1 or later.

libmount defaults to the new fsconfig interface which does not support remounting the way the old mount(2) syscall did. Thus, dentry trimming fails.

Fixes: https://tracker.ceph.com/issues/62664

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
  • 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
  • jenkins test rook e2e

This is a workaround for libmount 2.38 or later on linux kernel 5.1 or
later.

libmount defaults to the new fsconfig interface which does not support
remounting the way the old mount(2) syscall did. Thus, dentry trimming
fails.

Fixes: https://tracker.ceph.com/issues/62664
Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
@github-actions github-actions bot added the cephfs Ceph File System label Apr 30, 2024
@vshankar vshankar requested a review from a team May 2, 2024 13:46
Copy link
Member

@batrick batrick left a comment

Choose a reason for hiding this comment

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

This change looks good to me.

On this topic, I'm wondering why not trying to use mount(2) in this method instead of calling out to system? Using something like:

const char* mountpoint = ...;
mount(mountpoint, NULL, "fuse", MS_REMOUNT, NULL);

(I haven't tried that.) I think if ceph-fuse is root or has caps, it should be able to do this itself without all the forks/execs. Note: the documentation for mount(2) says the target must be specified but my reading of the Linux source indicates that's not actually necessary.

@vshankar
Copy link
Contributor

@sur5r pinging on this w.r.t. #57170 (review)

@sur5r
Copy link
Contributor Author

sur5r commented May 15, 2024

I can try and implement that proposal as well if that's the preferred solution.

@batrick
Copy link
Member

batrick commented May 17, 2024

I can try and implement that proposal as well if that's the preferred solution.

I think we still need this change if ceph-fuse is not running as root. I think using mount(2) is attractive if we're running as root.

Copy link
Member

@batrick batrick left a comment

Choose a reason for hiding this comment

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

I don't mean to block this PR on my question in the previous review.

@batrick
Copy link
Member

batrick commented May 17, 2024

jenkins test make check arm64

@batrick
Copy link
Member

batrick commented May 17, 2024

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

@batrick
Copy link
Member

batrick commented May 17, 2024

jenkins test make check arm64

4 similar comments
@batrick
Copy link
Member

batrick commented May 17, 2024

jenkins test make check arm64

@batrick
Copy link
Member

batrick commented May 20, 2024

jenkins test make check arm64

@batrick
Copy link
Member

batrick commented May 20, 2024

jenkins test make check arm64

@batrick
Copy link
Member

batrick commented May 21, 2024

jenkins test make check arm64

@batrick batrick merged commit 8a59d49 into ceph:main May 23, 2024
@sur5r sur5r deleted the issue62664 branch March 3, 2025 09:11
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.

3 participants