19 Commits

Author SHA1 Message Date
Akihiko Odaki
a13a9e71dc utils: Always suppress ENODATA
override_mode () used to suppress ENODATA only in a certain condition.
ENODATA errors in other situations made load_dir () fail because it
indirectly calls override_mode () when the underlying file system
reports DT_UNKNOWN for an opaque whiteout file and such an file does
not have mode xattrs. do_fchmod () and do_chmod () worked around the
problem by supressing ENODATA by themselves, but that led to code
duplication. Always suppress ENODATA to resolve these problems.

Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
2024-06-17 21:35:51 +09:00
Giuseppe Scrivano
ba472b58bc
code: add clang-format
add a clang-format definition file and apply it to the code.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-10-02 15:12:42 +02:00
Giuseppe Scrivano
d617afcefb
fuse-overlays: change license to GPLv2+
the contributors agreed on the change in the attached issue.

Closes: https://github.com/containers/fuse-overlayfs/issues/387

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2023-04-11 18:25:46 +02:00
Giuseppe Scrivano
7868e49da8
utils: enable override only for directories and files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-11 11:18:41 +01:00
Giuseppe Scrivano
3cb30d4c11
main: honor user.containers.override_stat
also honor user.containers.override_stat to override containers stat
override as it is set by containers/storage.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-06 13:19:51 +01:00
Giuseppe Scrivano
3dbb7d9bd5
main: move stat override mode to enum
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-11-06 13:17:14 +01:00
Giuseppe Scrivano
b958a3062e
Merge pull request #230 from mgoltzsche/fix_alpine_file_exists_at
utils.c: fix file_exists_at on musl.
2020-08-27 09:43:56 +02:00
Max Goltzsche
d5b725b6f1
utils.c: fix file_exists_at musl compatibility.
utils.c: file_exists_at: fallback to `fstatat` when `faccessat` fails with `EINVAL` (on musl).
.travis.yml: alpine test added.
main.c: reallocate path before appending.

Closes #174.

Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
2020-08-26 02:22:53 +02:00
Giuseppe Scrivano
b8086b58fa
main: support writing uid/gid/mode to xattr
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-21 19:52:28 +02:00
Giuseppe Scrivano
5c7fc2856a
direct: move override_mode to utils
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-21 16:52:26 +02:00
Fabrice Fontaine
321fa87d7e utils.c: fix build on uclibc
Neither uClibc nor uClibc-ng support O_TMPFILE. Define it in utils.c if
not defined.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-06-21 19:16:58 +02:00
Giuseppe Scrivano
fb8eb3300e
main: use openat2 where available
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-21 18:33:33 +02:00
Giuseppe Scrivano
f787603a30
fuse-overlayfs: add missing definitions for _FILE_OFFSET_BITS
it caused an issue on armv7h where different versions of dirent struct
were used in main.c and in the other files.

Regression introduced with c2c2ac5b82fb59322da227d196214b4a58ede634

Closes: https://github.com/containers/fuse-overlayfs/issues/197

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-15 10:18:30 +02:00
Giuseppe Scrivano
47cc3c2475
utils: on ENXIO access the path
Closes: https://github.com/containers/fuse-overlayfs/issues/176

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-01-31 15:39:42 +01:00
Giuseppe Scrivano
8a7508ed40
utils: retry on temporary close failures
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-01-17 22:02:53 +01:00
Sascha Grunert
54042dad32
Fix dead increment in utils.c
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-01-08 09:19:50 +01:00
Giuseppe Scrivano
884052db48
build: fix compiler warnings found by gcc
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-12-09 14:49:34 +01:00
Giuseppe Scrivano
9f6f90a6da
direct: use statx when available
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 22:06:40 +02:00
Giuseppe Scrivano
c2c2ac5b82
main: split the code in multiple files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 19:44:20 +02:00