406 Commits

Author SHA1 Message Date
Giuseppe Scrivano
99d6b6c458
tests: enable tests for the .wh. whiteout variant
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 12:03:37 +01:00
Giuseppe Scrivano
55b068e823
lookup: check for a .wh. file in the same layer
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 11:59:55 +01:00
Giuseppe Scrivano
4007f8b65f
readdir: check if there is a .wh. file in the same directory
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 11:59:55 +01:00
Giuseppe Scrivano
4d7ac8d50a
tests: add way to test out .wh. whiteout variant
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 11:36:35 +01:00
Giuseppe Scrivano
a4f88df17c
Merge pull request #24 from giuseppe/read-dangling-symlinks
fuse-overlayfs: read correctly inode for dangling symlinks
2018-11-07 11:12:08 +01:00
Giuseppe Scrivano
b54426b6c3
fuse-overlayfs: honor .wh. whiteout files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 09:20:34 +01:00
Giuseppe Scrivano
a147df9b11
fuse-overlayfs: reset times struct before using it
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-07 09:02:13 +01:00
Giuseppe Scrivano
a289a24acc
fuse-overlayfs: read correctly inode for dangling symlinks
do not follow symlinks when stat'ing a path, so that we read the inode
of the symlink itself.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-11-06 18:37:02 +01:00
Giuseppe Scrivano
50c7a50240
Merge pull request #22 from giuseppe/no-block-on-fifo
fuse-overlayfs: use O_NONBLOCK for opening files
2018-10-17 17:21:51 +02:00
Giuseppe Scrivano
aa23169fec
fuse-overlayfs: use O_NONBLOCK for opening files
avoid blocking on opening a fifo:

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-17 16:26:07 +02:00
Giuseppe Scrivano
5e0b422934
Merge pull request #19 from giuseppe/whiteout-enotsup
fuse-overlayfs: try alternative whiteout on ENOTSUP
2018-10-16 13:35:17 +02:00
Giuseppe Scrivano
c33f7d4121
Merge pull request #20 from mskarbek/dependency-fix
adding missing dependency
2018-10-16 09:49:55 +02:00
Marcin Skarbek
b5a0d391f2
adding missing dependency 2018-10-15 21:11:22 +02:00
Giuseppe Scrivano
36099f41fd
travis: install python3-setuptools
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-06 22:20:39 +02:00
Giuseppe Scrivano
2bcddc680c
fuse-overlayfs: try alternative whiteout on ENOTSUP
if mknod fails with ENOTSUP then use the .wh.FILE variant.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-10-06 11:43:52 +02:00
Giuseppe Scrivano
1c72a1af1a
Merge pull request #15 from giuseppe/add-man-page
man: add man page
2018-08-10 17:39:05 +02:00
Giuseppe Scrivano
7e06dcf061
man: add man page
Closes: https://github.com/containers/fuse-overlayfs/issues/7

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-08-10 17:14:19 +02:00
Giuseppe Scrivano
d40ac752b4
Merge pull request #14 from giuseppe/honor-overlay-origin-xattr
fuse-overlayfs: honor trusted.overlay.origin
2018-08-07 08:26:53 +02:00
Giuseppe Scrivano
b7826966ca
Merge pull request #13 from giuseppe/more-errors
main: improve errors logging
2018-08-01 16:30:27 +02:00
Giuseppe Scrivano
b3898da66d
overlay: honor trusted.overlay.origin
While fuse-overlayfs doesn't set this xattr, ensure that we honor it
when it exists so that we report the correct st_ino on lower layers
that were created using the kernel implementation.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-08-01 13:54:08 +02:00
Giuseppe Scrivano
78f00d6449
setxattr: do not allow to set trusted.overlay.
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-08-01 13:51:18 +02:00
Giuseppe Scrivano
21cb0e199d
read_dirs: always initialize l->next to NULL
Resolve a segfault when using multiple lower layers.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-08-01 13:51:18 +02:00
Giuseppe Scrivano
1dadd3738f
main: improve errors logging
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-08-01 10:29:24 +02:00
Vincent Batts
1ed274ba57 Dockerfile: foreground and allow args to fuse-overlayfs 2018-07-31 19:51:15 +02:00
Vincent Batts
d73490709b *: some build hints and static link example
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2018-07-31 18:55:46 +02:00
Giuseppe Scrivano
79c70fd91a COPYING: add file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-30 15:13:57 +02:00
Daniel J Walsh
13575b6335
Merge pull request #5 from giuseppe/build-cleanup
build: a couple of cleanups
2018-07-25 17:03:55 -04:00
Giuseppe Scrivano
b81b387d02
build: let configure fail if libfuse is not found
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-25 22:06:00 +02:00
Giuseppe Scrivano
e0017c2a31
build: drop unused GNU files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-25 22:05:32 +02:00
Giuseppe Scrivano
71a8ad3175 fuse-overlayfs: try RENAME_EXCHANGE if the destination is a whiteout
if we are trying to move over an existing whiteout, try a rename2(...,
RENAME_EXCHANGE) first, so in one atomic operation we get both the
file renamed and the whiteout created in the old source.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-23 22:11:56 +02:00
Daniel J Walsh
30a9800696
Merge pull request #3 from giuseppe/add-travis
travis: add tests
2018-07-21 07:26:01 -04:00
Giuseppe Scrivano
16754859c2
.travis.yml: new file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-21 12:45:14 +02:00
Giuseppe Scrivano
70e9f2c0af
build: fix libraries order
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-20 13:40:50 +02:00
Giuseppe Scrivano
3c0e4fac10
main: define RENAME_WHITEOUT if the definition is missing
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-20 13:40:50 +02:00
Giuseppe Scrivano
a5431eda02
main: remove include for unused file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-20 13:40:50 +02:00
Giuseppe Scrivano
552afbf2db fuse-overlayfs: mountpoint is the last argument passed
Consider the mountpoint to be the last argument passed, so that
fuse-overlayfs can be used as a mount helper.

This enables to run the github.com/amir73il/unionmount-testsuite
testsuite on fuse-overlayfs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-20 12:36:12 +02:00
Giuseppe Scrivano
24dd39ee72
fuse-overlayfs: fix order of lower layers
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-19 09:23:21 +02:00
Giuseppe Scrivano
5b29022bd3
fuse-overlayfs: honor opaque directories
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-15 21:59:09 +02:00
Giuseppe Scrivano
d55cd97b73
fuse-overlayfs: propagate errors from readdir(3)
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-15 19:30:49 +02:00
Giuseppe Scrivano
cc18f5ce18
fuse-overlayfs: rename uses a .wh. style whiteout
during a rename, use a .wh. style whiteout for the destination, so
that if the rename fails we don't make visible files from the lower
layers.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-15 16:30:04 +02:00
Giuseppe Scrivano
e908a68156
fuse-overlayfs: remove duplicate variable in ovl_rename_direct
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-15 14:43:21 +02:00
Giuseppe Scrivano
b3f454183f
fuse-overlayfs: split ovl_rename in two functions
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-15 14:30:26 +02:00
Giuseppe Scrivano
234a1baaf9
rpm: drop multiple listed dependencies
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 15:17:24 +02:00
Giuseppe Scrivano
04be2fced2
fuse-overlayfs: error out if redirect_dir is specified
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 14:15:03 +02:00
Giuseppe Scrivano
8b54d466e1
fuse-overlayfs: name the xattr origin not redirect
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 12:54:09 +02:00
Giuseppe Scrivano
358873e18b
fuse-overlayfs: do not allow to overwrite user.fuseoverlayfs xattrs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 12:42:49 +02:00
Giuseppe Scrivano
6e7b5d70fd
fuse-overlayfs: reload the dir before checking for EXDEV
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
e0ba188721
fuse-overlayfs: fix xattrs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
85d1a08cf2
fuse-overlayfs: support also mv to empty directory with whiteouts
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
0cc1b77696
fuse-overlayfs: hide directories recursively on a rename
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00