798 Commits

Author SHA1 Message Date
Giuseppe Scrivano
b8f90ec1f6
fuse-overlayfs: mkdir creates the directory in the workdir first
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
996f297f9d
rmdir: catch ENOTEMPTY also when deleting a dir from a lower layer
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
616119093a
fuse-overlayfs: use renameat2(RENAME_WHITEOUT) when possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-13 00:03:34 +02:00
Giuseppe Scrivano
81c939f350
fuse-overlayfs: attempt to create mknod whiteout before attempting the .wh. fallback
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 16:57:59 +02:00
Giuseppe Scrivano
0d02ef15ce
fuse-overlayfs: check if it is a whiteout also when doing a lookup
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 16:20:51 +02:00
Giuseppe Scrivano
dbf5732c75
fuse-overlayfs: refactor code to delete a whiteout
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 12:37:48 +02:00
Giuseppe Scrivano
4dd791a734
fuse-overlayfs: refactor code to create a whiteout
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 11:10:29 +02:00
Giuseppe Scrivano
d8e9ee1299
fuse-overlayfs: shift uid/gid from FUSE ctx
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 10:27:58 +02:00
Giuseppe Scrivano
3c4027da81
open: create the new file in the working directory first
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-11 10:12:01 +02:00
Giuseppe Scrivano
f16008d3a9
build: add missing files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-10 17:06:23 +02:00
Giuseppe Scrivano
e030b7b8fd
lib: update
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-10 17:06:23 +02:00
Giuseppe Scrivano
24ee76fba1
configure: add AC_PROG_RANLIB
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-10 17:06:23 +02:00
Giuseppe Scrivano
8ba49ca75a
fuse-overlayfs: force default_permissions,allow_other
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-10 17:06:23 +02:00
Giuseppe Scrivano
b78f52f24b
fuse-overlayfs: on link(2) set the redirect link from the source
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 20:42:14 +02:00
Giuseppe Scrivano
5c3e2c330b
fuse-overlayfs: change cfs_ prefix again
as the project was renamed to fuse-overlayfs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 20:20:38 +02:00
Giuseppe Scrivano
7afb2f6a76
fuse-overlayfs: change option names to uidmapping and gidmapping
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 18:25:09 +02:00
Giuseppe Scrivano
c8c9a4aa2c
rename to fuse-overlayfs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 18:23:19 +02:00
Giuseppe Scrivano
4db566b76a
containerfs: retry syscalls that might be interrupted
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 14:23:50 +02:00
Giuseppe Scrivano
f7f9f8b44a
containerfs: change prefix lo_ to cfs_
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 12:05:19 +02:00
Giuseppe Scrivano
d7f52737d3
containerfs: fix fd leak
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 11:55:47 +02:00
Giuseppe Scrivano
003d569b74
containerfs: rename rmfrom to hidden_dirfd
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 10:48:19 +02:00
Giuseppe Scrivano
8dfeb42b06
containerfs: make low a bool
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 10:47:15 +02:00
Giuseppe Scrivano
4169157e92
containerfs: drop unused root_lower member
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-09 10:38:32 +02:00
Giuseppe Scrivano
63a803540a
containerfs: rename doesn't rm src if dest is the same file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-07 18:24:38 +02:00
Giuseppe Scrivano
78d72baaa4
containerfs: use the workingdir to create a directory
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-06 12:40:57 +02:00
Giuseppe Scrivano
c820997ed6
containerfs: refactor xattr copy to a new function
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-06 11:33:48 +02:00
Giuseppe Scrivano
3b7a5a79af
containerfs: copyup uses a temporary file in the workingdir
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-06 11:28:18 +02:00
Giuseppe Scrivano
5ec6b893d3
build: add stuff for building an rpm
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-04 20:25:20 +02:00
Giuseppe Scrivano
b89b8ebf5d
containerfs: use an xattr to store redirects of a file
So we can correctly report the same issue for hard links.

Closes: https://github.com/giuseppe/containerfs/issues/1

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-04 16:02:32 +02:00
Giuseppe Scrivano
d63934d540
containerfs: copy xattrs on copyup
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-04 14:54:31 +02:00
Giuseppe Scrivano
9bc5a110e0
containerfs: lookup does not read the directory if not requested to
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-04 13:06:47 +02:00
Giuseppe Scrivano
ddce687dfd
containerfs: rewrite it to use *at functions
do not use absolute paths when accessing files.  Use relative paths to
the layers root.  As part of the refactoring, also drop any cache of
the lower layers, working more similarly as overlay in the kernel.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-03 20:28:36 +02:00
Giuseppe Scrivano
c6ab8b7115
containerfs: stat reports the underlying FS inode number
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-07-02 11:06:35 +02:00
Giuseppe Scrivano
b49ce8e958
README.md: add more information
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-30 18:49:40 +02:00
Giuseppe Scrivano
54d1c2157f
containerfs: convert char devices(0, 0) to whiteout
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-30 18:49:40 +02:00
Giuseppe Scrivano
7bbfb5b479
containerfs: return EXDEV when trying to rename a directory from a lower layer
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-30 18:35:01 +02:00
Giuseppe Scrivano
df766f09cb
containerfs: check for invalid mappings
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-30 12:48:41 +02:00
Giuseppe Scrivano
f131a755fa
containerfs: simplify hide_node
use a hard link so we don't modify the destination file before a
rename(2).

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-30 11:14:19 +02:00
Giuseppe Scrivano
f2b97eeea5
containers: do not rename not existing files
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 16:23:00 +02:00
Giuseppe Scrivano
33788697ad
containerfs: support uids/gids shift
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 15:33:34 +02:00
Giuseppe Scrivano
09771b9864
containerfs: fix memory leak
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 14:33:19 +02:00
Giuseppe Scrivano
554264ce1e
containerfs: more cleanups
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 12:55:30 +02:00
Giuseppe Scrivano
278069ae79
containerfs: some cleanups
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 12:24:45 +02:00
Giuseppe Scrivano
a80ef88cf9
containerfs: use mkstemp instead of tempnam
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-28 12:24:45 +02:00
Giuseppe Scrivano
abb8bfceac
containerfs: drop unused code
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-27 18:35:01 +02:00
Giuseppe Scrivano
b99a82bdca
containerfs: raise error if workdir is not specified
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-27 10:21:47 +02:00
Giuseppe Scrivano
88b2ee2854
containerfs: raise error if upperdir is not specified
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-27 10:20:46 +02:00
Giuseppe Scrivano
26f0f1a6a2
containerfs: initial implementation
A FUSE implementation of overlay.  Not as stable and mature as the
kernel FS.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2018-06-17 16:34:29 +02:00