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
Giuseppe Scrivano
86b9cf5a83
writeback: restore suid mode after write
...
restore the inode mode if there is a writepage request that could
reset the setuid bit.
Closes: https://github.com/containers/fuse-overlayfs/issues/127
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-03 16:07:02 +02:00
Giuseppe Scrivano
163510e592
main: store the new mode after chmod
...
after a successful chmod, store the new mode for the ino.
Closes: https://github.com/containers/fuse-overlayfs/issues/124
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-02 14:22:13 +02:00
Daniel J Walsh
46c0f8e650
Merge pull request #123 from giuseppe/fix-arch-linux
...
main: fix skip whiteout deletion optimization
v0.6.3
2019-09-26 07:03:17 +02:00
Giuseppe Scrivano
206ea53b5e
tag version 0.6.3
...
Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-09-23 22:37:44 +02:00
Giuseppe Scrivano
614f57d8f6
main: fix skip whiteout deletion optimization
...
fix the lookup function to report also a whiteout node, instead of
NULL. This is required to correctly delete the whiteout file when it
exists.
Closes: https://github.com/containers/fuse-overlayfs/issues/122
Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-09-23 22:35:02 +02:00
Giuseppe Scrivano
20e8529c4e
ioctl: do not reuse fi->fh for directories
...
for directories, it points to a structure, not an open file
descriptor.
Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-09-23 22:34:20 +02:00
Giuseppe Scrivano
b0a9bdaa64
Merge pull request #120 from giuseppe/setattr-no-require-wronly
...
set_attrs: don't require write to S_IFREG
2019-09-18 13:27:51 +02:00
Giuseppe Scrivano
66e01c8f53
Merge pull request #121 from matpen/better-docs
...
More detailed build instructions, closes #107
2019-09-13 18:47:29 +02:00
matpen
1d83907f30
Improving README with more detailed build instructions.
2019-09-13 17:28:39 +02:00
Nathaniel Wesley Filardo
69dcdb3af2
set_attrs: don't require write to S_IFREG
...
It's perfectly possible to set attributes by being the file's owner; one
does not need write access to the contents.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-09-13 15:06:14 +02:00
Daniel J Walsh
74fb3dd138
Merge pull request #118 from tylarb/set_limit_typo
...
Fix typo in set_limits
2019-09-11 09:36:54 -04:00
Tyler Ramer
4a9906739a
Fix typo in set_limits
...
- Setting and getting nofile not process limits
Authored-by: Tyler Ramer <tramer@pivotal.io>
2019-09-11 09:17:37 -04:00
Daniel J Walsh
16f39b12f5
Merge pull request #117 from giuseppe/check-for-writeback-support
...
main: check whether writeback is supported
2019-09-09 13:29:26 -04:00
Giuseppe Scrivano
ed99282f27
main: check whether writeback is supported
...
disable writeback if it is not supported by FUSE.
Closes: https://github.com/containers/fuse-overlayfs/issues/116
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-09-09 17:58:26 +02:00
Daniel J Walsh
67a4afe6e5
Merge pull request #115 from giuseppe/tag-0.6.2
...
configure.ac: tag 0.6.2
v0.6.2
2019-09-04 08:29:03 -04:00
Giuseppe Scrivano
a7cc43f16e
configure.ac: tag 0.6.2
...
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-09-03 15:53:03 +02:00