client: set LIBMOUNT_FORCE_MOUNT2=always#57170
Conversation
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>
batrick
left a comment
There was a problem hiding this comment.
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.
|
@sur5r pinging on this w.r.t. #57170 (review) |
|
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 |
batrick
left a comment
There was a problem hiding this comment.
I don't mean to block this PR on my question in the previous review.
|
jenkins test make check arm64 |
|
This PR is under test in https://tracker.ceph.com/issues/66086. |
|
jenkins test make check arm64 |
4 similar comments
|
jenkins test make check arm64 |
|
jenkins test make check arm64 |
|
jenkins test make check arm64 |
|
jenkins test make check arm64 |
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
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