Skip to content
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

mount.fuse.ceph: strip the 'nofail' option from those that fuse will see #52834

Merged
merged 1 commit into from Aug 14, 2023

Conversation

leonid-s-usov
Copy link
Contributor

@leonid-s-usov leonid-s-usov commented Aug 6, 2023

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

The research of this problem has shown that stripping the option from the list that is sent to libfuse is the correct approach.

libfuse themselves took this route in libfuse/libfuse@a83cd72.

The kernel mainly uses the option to decide how to treat errors during the boot process or mount -a. While I can't say whether some file systems overload this option with internal functionality, it's not used by the libfuse.

More info:
#26992
systemd/systemd#5032
https://access.redhat.com/discussions/4976921
https://furorteutonicus.eu/2013-08-29-nofail-and-nobootwait-mount-options-in-fstab-prevent-boot-problems
OpenMediaVault-Plugin-Developers/openmediavault-unionfilesystems#36
https://linux.die.net/man/8/mount

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

@leonid-s-usov
Copy link
Contributor Author

@ceph/cephfs

@joscollin joscollin requested a review from a team August 7, 2023 09:47
@joscollin joscollin added bug-fix cephfs Ceph File System labels Aug 7, 2023
# - nofail option is also not recognized by libfuse.
# Starting with fuse 3.2.2 the option is also ignored by mount.fuse, see
# https://github.com/libfuse/libfuse/commit/a83cd72f641671b71b8268b1765e449cae071f3e
strip_opts = ['defaults', 'noauto', '_netdev', 'nofail']
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this approach is correct. Just one question - In the redmine tracker you put

 I'll submit a patch that does the same on our side, for versions of fuse < 3.2.2

So, I expected to see some form for version check somewhere. What am I missing?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I should add comment or edit that message on the tracker. The thing is, when implementing this, I realized that I should not be checking the version as the fix from the library is only affecting users of their supplied mount.fuse helper. In our case, we won't be calling through their mount helper, we are using our own. As a result, the correct approach should be filtering this option unconditionally.

Copy link
Contributor

Choose a reason for hiding this comment

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

Makes sense. Thx for explaining.

@vshankar
Copy link
Contributor

vshankar commented Aug 8, 2023

Integration branch - https://shaman.ceph.com/builds/ceph/wip-vshankar-testing-20230808.093601/

Test runs in ~3 hrs.

@leonid-s-usov
Copy link
Contributor Author

@vshankar do I understand correctly that this has passed the tests? What else is needed before we can merge?

@vshankar
Copy link
Contributor

vshankar commented Aug 9, 2023

@vshankar do I understand correctly that this has passed the tests? What else is needed before we can merge?

Still under testing - https://pulpito.ceph.com/?branch=wip-vshankar-testing-20230808.093601

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 vshankar merged commit 7910a4e into ceph:main Aug 14, 2023
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-fix cephfs Ceph File System
Projects
None yet
3 participants