instead of using the lgetxattr and llistxattr system calls on the
entire file path, use the /proc/self/fd/$FD/$RELATIVE_PATH path
instead so that the lookup is relative to the lower dir file
descriptor that is already open.
Closes: https://github.com/containers/fuse-overlayfs/issues/364
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
Many distros package libfuse's versions as different packages. For
example, Ubuntu (jammy for example) has a package for libfuse2 and
libfuse3. Now the issue is that libfuse-dev pulls is libfuse2 while
there is no libfuse2-dev. This patch clarifies the version of fuse in
the configure error.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
This happens to not be an issue with glibc because it gets indirectly
included via dirent.h:
.. /usr/include/dirent.h
[...]
..... /usr/include/linux/limits.h
When using the musl libc implementation, that is not the case anymore
and the build fails.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
- Create source whiteout only when needed
- Fix missing source whiteout when destination is whiteout
- Try the EXCHANGE trick also when NOREPLACE is set
Signed-off-by: Tuupertunut <tuupertunut@outlook.com>
Set correct value of RENAME_NOREPLACE when RENAME_EXCHANGE is not
already defined i.e use `1 << 0` instead of `1 << 2` which seems
incorrect.
Reference: f2906aa863/include/uapi/linux/fs.h (L50-L52)
Signed-off-by: Aditya R <arajan@redhat.com>
the kernel returns EOVERFLOW if the rootid cannot be mapped in the
current user namespace when reading the file capabilities
(security.capabilities xattr).
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
- Switch away from tonistiigi/binfmt/cross.sh to tonistiigi/xx .
cross.sh was removed in tonistiigi/binfmt@99c76af6 .
- Remove dependency on QEMU user mode emulation
- Switch away from debian:10 to ubuntu:22.04, for supporting riscv64
- Clean up unneeded deps
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
native overlay uses user.overlay to store the overlay metadata instead
of trusted.overlay, let's honor it as well.
Closes: https://github.com/containers/fuse-overlayfs/issues/328
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
fix the check for FUSE_CAP_POSIX_ACL. commit
0a659e75ef61456bda1fa4b0b30117296f66f4fe introduced the issue.
It is needed to run fuse-overlayfs on RHEL 7 kernels.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>