Skip to content

Conversation

@AkihiroSuda
Copy link
Member

No description provided.

@AkihiroSuda AkihiroSuda added easy-to-review area/ci backport/1.1-todo A PR in main branch which needs to be backported to release-1.1 labels Nov 17, 2023
@AkihiroSuda
Copy link
Member Author

https://cirrus-ci.com/task/5012914067734528

not ok 122 runc run [dev,exec,suid,atime bind mount of a nodev,nosuid,noexec,noatime fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `fail_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 87,
#  in test file tests/integration/mounts_sshfs.bats, line 226)
#   `fail_sshfs_bind_flags "nodev,nosuid,nosuid,noatime" "bind,dev,suid,exec,atime"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,nosuid,nodev,noexec,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noexec,noatime,inode64 0 0
# runc run test_busybox (status=0):
# rw,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
not ok 123 runc run [ro bind mount of a nodev,nosuid,noexec fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 249)
#   `pass_sshfs_bind_flags "rw,nodev,nosuid,nodev,noexec,noatime" "bind,ro"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,rw,nodev,nosuid,nodev,noexec,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noexec,noatime,inode64 0 0
# runc run test_busybox (status=0):
# ro,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
ok 124 runc run [ro,symfollow bind mount of a rw,nodev,nosymfollow fuse sshfs mount]
not ok 125 runc run [ro,noexec bind mount of a nosuid,noatime fuse sshfs mount]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 312)
#   `pass_sshfs_bind_flags "nodev,nosuid,noatime" "bind,ro,exec"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,nodev,nosuid,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,nosuid,nodev,noatime,inode64 0 0
# runc run test_busybox (status=0):
# ro,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found
not ok 126 runc run [bind mount {no,rel,strict}atime semantics]
# (from function `setup_sshfs' in file tests/integration/mounts_sshfs.bats, line 46,
#  from function `setup_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 61,
#  from function `pass_sshfs_bind_flags' in file tests/integration/mounts_sshfs.bats, line 79,
#  in test file tests/integration/mounts_sshfs.bats, line 338)
#   `pass_sshfs_bind_flags "noatime" "bind,norelatime"' failed with status 32
# runc spec (status=0):
#
# fuse: unknown option(s): `-o atime'
# configured /tmp/bats-run-SM5ZfO/fuse-sshfs with mount --bind -o remount,noatime
# tmpfs /tmp/bats-run-SM5ZfO/fuse-sshfs tmpfs rw,seclabel,noatime,inode64 0 0
# runc run test_busybox (status=0):
# rw,seclabel,noatime,inode64
# mount: /tmp/bats-run-SM5ZfO/fuse-sshfs: mount point not mounted or bad option.
#        dmesg(1) may have more information after failed mount system call.
# /vagrant/tests/integration/mounts_sshfs.bats: line 13: fusermount: command not found

@AkihiroSuda AkihiroSuda marked this pull request as draft November 17, 2023 20:54
@AkihiroSuda
Copy link
Member Author

The "atime" mount option is no longer recognized since FUSE 3.15
libfuse/libfuse@dba6b39

(Fedora 38 uses FUSE 3.14.1, Fedora 39 uses FUSE 3.16.1)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
`fusermount` is missing on recent distros

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
@AkihiroSuda AkihiroSuda marked this pull request as ready for review November 17, 2023 21:19
@AkihiroSuda AkihiroSuda marked this pull request as draft November 17, 2023 22:13
@AkihiroSuda
Copy link
Member Author

@kolyshkin @cyphar Do we need to disable the most part of mounts_sshfs.bats for FUSE >= 3.15?

@kolyshkin
Copy link
Contributor

@kolyshkin @cyphar Do we need to disable the most part of mounts_sshfs.bats for FUSE >= 3.15?

When I was initially adding mounts_sshfs test in #3283, it was to check a fix for a particular issue with fuse mount (containers/podman#12205), and I also tried other setups at that time (tmpfs, read-only bind mount, and an ext2 mount) but was not able to repro.

Since that time, a bunch of other tests were added.

Yes, I guess, we need a version guard and a skip. @cyphar wdyt?

@cyphar
Copy link
Member

cyphar commented Dec 12, 2023

The problem is that some of the recent mount rework is only tested through mount_sshfs because that was the way the old behaviour was tested. Disabling the tests will also disable the bulk of those tests. Maybe we can fall back to using tmpfs for FUSE >= 3.15 (as we do today if sshfs isn't available) so at least we are testing the bulk of the code. Or we can move those tests to mounts.bats and use tmpfs there so that the sshfs-specific stuff stays where it is.

As an aside, is there a PR for sshfs to do what the FUSE PR implies is sshfs's job? It's very weird they would be okay with breaking something as simple as mount -t sshfs -o atime...

@kolyshkin kolyshkin removed the backport/1.1-todo A PR in main branch which needs to be backported to release-1.1 label May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants