768 Commits

Author SHA1 Message Date
Giuseppe Scrivano
53c17dab78
Merge pull request #156 from leorochael/simpler-static-build
Simpler static build
2019-12-11 16:31:43 +01:00
Leonardo Rochael Almeida
1956d59152 Rename static dockerfiles to reflect their distros 2019-12-09 15:09:23 -03:00
Daniel J Walsh
b5dfac4f75
Merge pull request #158 from giuseppe/clang-fixes
fuse-overlayfs: fix some warnings reported by clang
2019-12-09 10:48:26 -05: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
1d7b99d95a
fuse-overlayfs: fix some warnings reported by clang
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-12-09 11:05:47 +01:00
Leonardo Rochael Almeida
d6f7ae40b6 Simpler static build
Use an ubuntu image to obtain a static libfuse without compiling.

Remove the need for sharing /dev/fuse with the build container.

Simpler build instructions.
2019-12-06 17:02:51 -03:00
Daniel J Walsh
f6cbfc6489
Merge pull request #155 from giuseppe/include-headers-tarball
Makefile.am: include header files
2019-12-02 23:38:04 -05:00
Giuseppe Scrivano
add39c6183
Makefile.am: include header files
make sure the header files are included in the tarball generated by
"make dist".

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-12-02 22:18:27 +01:00
Giuseppe Scrivano
8c59873b00
configure: tag 0.7.2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
v0.7.2
2019-11-29 14:16:32 +01:00
Daniel J Walsh
fe47dba184
Merge pull request #153 from giuseppe/drop-security-capability-handling
main: drop special handling for security.capability
2019-11-29 07:24:15 -05:00
Giuseppe Scrivano
5d053201d1
main: drop special handling for security.capability
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-29 11:53:49 +01:00
Giuseppe Scrivano
e0d2ffa382
configure: tag 0.7.1
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
v0.7.1
2019-11-28 17:12:05 +01:00
Daniel J Walsh
fc688fb65b
Merge pull request #150 from giuseppe/fix-musl-build-again
.travis: test build on Alpine
2019-11-28 06:55:38 -05:00
Daniel J Walsh
9e5b0aa29f
Merge pull request #152 from giuseppe/fix-parent-whiteout
main: prevent parent whiteout to hide file
2019-11-28 06:55:19 -05:00
Giuseppe Scrivano
dfd9f18773
main: prevent parent whiteout to hide file
use the full relative path when looking up the whiteout file,
otherwise a whiteout in the upper layer will hide files in
subdirectories.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-27 21:03:21 +01:00
Giuseppe Scrivano
e280f411f1
.travis: test build on Alpine
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-27 14:34:27 +01:00
Giuseppe Scrivano
675b7b90e7
Merge pull request #149 from nanosapp/feature/fix-build-muslc
muslc: Fix build
2019-11-27 12:32:33 +01:00
Denys Vitali
1ecf46f58f
muslc: Fix build 2019-11-27 11:34:06 +01:00
Daniel J Walsh
b57e5c8d00
Merge pull request #147 from giuseppe/fix-build-musl
build: fix build on musl
2019-11-26 05:46:12 -05:00
Daniel J Walsh
58101db1b0
Merge pull request #146 from giuseppe/check-fuse-copy_file_range
configure: check for FUSE copy_file_range
2019-11-18 11:10:31 -05:00
Giuseppe Scrivano
d1f318ef73
build: fix build on musl
Closes: https://github.com/containers/fuse-overlayfs/issues/145

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-18 13:47:37 +01:00
Giuseppe Scrivano
d077ea28e3
configure: check for FUSE copy_file_range
check if the version of FUSE supports copy_file_range.

It fixes the build on RHEL 8.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-18 13:41:51 +01:00
Daniel J Walsh
34794cf17f
Merge pull request #144 from giuseppe/add-test
tests: test that touch -h works
2019-11-16 11:44:35 -05:00
Nalin Dahyabhai
5b4989a869 tests: test that touch -h works
verify that setting attributes on a dangling symlink work, even if the
file type is different on a lower layer.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-15 18:02:35 -05:00
Giuseppe Scrivano
b3b67651d3
release: tag 0.7
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
v0.7
2019-11-05 08:39:30 +01:00
Daniel J Walsh
5f028d2349
Merge pull request #139 from giuseppe/fix-whiteout
main: honor opaque whiteout
2019-11-04 12:20:09 -05:00
Giuseppe Scrivano
2403cd9537
main: honor opaque whiteout
Closes: https://github.com/containers/fuse-overlayfs/issues/138

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-04 08:36:37 +01:00
Giuseppe Scrivano
35ef75d9b0
main, mkdir: set directory opaque
when creating a directory, set it opaque.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-02 19:46:51 +01:00
Daniel J Walsh
fa0cd999c8
Merge pull request #119 from giuseppe/c-plugins
fuse-overlayfs: add C plugins system
2019-10-31 16:28:19 -04:00
Giuseppe Scrivano
042846de50
main: correctly mark the last_layer with a deleted directory
Closes: https://github.com/containers/fuse-overlayfs/issues/136

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-31 14:26:15 +01:00
Giuseppe Scrivano
715a95c39d
plugins: load from default location
if no -o plugins is specified, load them from $PKGLIBEXECDIR (usually
has the value /usr/libexec/fuse-overlayfs).

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-25 11:02:17 +02:00
Giuseppe Scrivano
3fa10346c3
main: drop magic numbers
use EXIT_FAILURE and EXIT_SUCCESS instead.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-24 13:52:35 +02:00
Giuseppe Scrivano
1c490d91d8
plugins: allow to manage multiple layers with a ds
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-24 13:52:34 +02:00
Giuseppe Scrivano
7095cc29ef
main: fix fast_ino
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-21 18:41:53 +02:00
Giuseppe Scrivano
62abdcf00f
readdir: use mode from uppermost layer
differently than dev/ino number, use the uppermost mode found.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 22:06:41 +02: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
b28a23a39d
fuse-overlayfs: add plugin system
Add a simple plugin mechanism that will help to expand fuse-overlayfs
functionalities, in particular it allows to load data from a layer on
demand.

A plugin is loaded into fuse-overlayfs using the option:

-o plugins=path/to/plugin.so:path/to/another/plugin.so

A layer can use a plugin with the syntax:

-o lowerdir=//plugin-name/DATA-FOR-THE-PLUGIN/path

Each time a file/directory is looked up, if a plugin is registered for
a layer, the plugin is first notified about the request.

After the callback is invoked, fuse-overlayfs still expects the data
to be accessible at the specified directory.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 22:06:39 +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
Giuseppe Scrivano
53c165e6bd
main: refactor to use a data store
this is the first step towards supporting data from lower layers
coming from other sources.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 19:44:20 +02:00
Giuseppe Scrivano
e72f92bcf6
main: fix debug format string
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-20 19:43:23 +02:00
Daniel J Walsh
ae96c48f1a
Merge pull request #133 from giuseppe/support-no-upperdir
fuse-overlayfs: support running without upper layer
2019-10-20 07:06:52 -04:00
Giuseppe Scrivano
c9bbc94ab6
fuse-overlayfs: support running without upper layer
when there is no upper layer specified, fail every read operation with
EROFS.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-19 21:33:35 +02:00
Daniel J Walsh
3bc0aa6427
Merge pull request #132 from giuseppe/fixes
main.c: reload the directory on stat
v0.6.5
2019-10-15 19:13:53 -04:00
Giuseppe Scrivano
8a5bf4bb15
tag version 0.6.5
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-15 12:58:05 +02:00
Giuseppe Scrivano
45c902ea87
main.c: reload the directory on stat
make sure the directory is reloaded so the correct number of links can
be retrieved.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-15 12:55:55 +02:00
Giuseppe Scrivano
098d9ad79f
tag version 0.6.4
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
v0.6.4
2019-10-04 09:50:00 +02:00
Daniel J Walsh
504862881f
Merge pull request #129 from giuseppe/skip-whiteout-creation-if-not-needed
main: skip whiteout creation if not needed
2019-10-03 14:17:38 -04:00
Daniel J Walsh
a9f6140602
Merge pull request #128 from giuseppe/restore-suid-on-cacheback-write
writeback: restore suid mode after write
2019-10-03 14:17:18 -04:00
Daniel J Walsh
1955ff6710
Merge pull request #126 from giuseppe/invalidate-local-mode-cache
main: store the new mode after chmod
2019-10-03 13:54:29 -04:00
Giuseppe Scrivano
3a31451fe3
main: skip whiteout creation if not needed
if the file is present only on the upper layer, do not create a
whiteout when it is created.  Previously it was looking only at the
parent directory.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-03 16:11:45 +02:00