293 Commits

Author SHA1 Message Date
Giuseppe Scrivano
c99226b70b
main: skip RENAME_WHITEOUT if we cannot use mknod
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:35 +02:00
Giuseppe Scrivano
a4ebbc8361
main: give hint on debugging being disabled
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:34 +02:00
Giuseppe Scrivano
c2d45f7843
main, access: use the cached mode
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:34 +02:00
Giuseppe Scrivano
1237d05c1a
main, readdir: use only st_mode and st_ino
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:33 +02:00
Giuseppe Scrivano
551638090f
main: cache inode st_mode
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:32 +02:00
Giuseppe Scrivano
1545d4bf84
main, mkdir: reuse stat when possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:31 +02:00
Giuseppe Scrivano
c5bfc0ba87
main: use malloc instead of calloc
the memory will be overwritten.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:31 +02:00
Giuseppe Scrivano
605e17fbf7
main: rpl_stat can reuse existing struct stat
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:30 +02:00
Giuseppe Scrivano
98aeb52ac2
main, mkdir: do not lookup lower layers if not needed
if the parent directory is only on the upper layer, there is no need
to look for the ino in the lower layers.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:29 +02:00
Giuseppe Scrivano
f3d66013b3
main: drop present_lowerdir attribute
use last_layer instead.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:28 +02:00
Giuseppe Scrivano
64e493e7e4
main: create_directory does unlink only on ENOTDIR
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:28 +02:00
Giuseppe Scrivano
cbf7881f01
main: load_dir updates the node last layer
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:27 +02:00
Giuseppe Scrivano
d99d8684c0
Merge pull request #90 from giuseppe/fix-ubuntu-build
build: fix build with older versions of libfuse
2019-07-23 16:14:12 +02:00
Giuseppe Scrivano
4f3862db82
build: fix build with older versions of libfuse
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:02:14 +02:00
Daniel J Walsh
95e1d01feb
Merge pull request #88 from giuseppe/perf-improvements
fuse-overlayfs: different performance tweaks
2019-07-23 06:50:22 -04:00
Giuseppe Scrivano
9e20d96bbf
main: store negative lookups
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 23:17:04 +02:00
Giuseppe Scrivano
1bed1d566b
main: cache if the node has security.capability
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 23:17:04 +02:00
Giuseppe Scrivano
3b0ff43029
main: accept kernel_cache option
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 15:37:30 +02:00
Giuseppe Scrivano
53d93f5938
main: specify FUSE_CAP_SPLICE_MOVE
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 15:37:29 +02:00
Giuseppe Scrivano
c1fa9afe1e
main: set keep_cache on open
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 15:37:29 +02:00
Giuseppe Scrivano
a87044ebfc
main: change initial hash map size to 128
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 13:07:28 +02:00
Giuseppe Scrivano
5653543fcc
gnulib: sync from upstream
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 13:07:00 +02:00
Giuseppe Scrivano
d0b363eaa7
configure: use GNU diff hashing function
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 13:01:04 +02:00
Giuseppe Scrivano
20fe922f89
travis.yml: update libfuse
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:38:35 +02:00
Giuseppe Scrivano
3154fc0e91
main: cache directory nlinks
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:38:34 +02:00
Giuseppe Scrivano
1cabb17dd3
main: provide implementation for forget_multi
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:41 +02:00
Giuseppe Scrivano
648f158cac
main: provide implementation for copy_file_range
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:41 +02:00
Giuseppe Scrivano
b0bc506690
main: provide implementation for fallocate
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:40 +02:00
Giuseppe Scrivano
784b3fd549
main: don't take the lock if sync is disabled
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:39 +02:00
Giuseppe Scrivano
9a4840b8d5
main: provide fsyncdir
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:38 +02:00
Giuseppe Scrivano
beeafcfc62
main: report close(2) errors
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:38 +02:00
Giuseppe Scrivano
9e2e1cbbd1
main: add debugging message for ovl_release
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:37 +02:00
Giuseppe Scrivano
62cbd9977c
tests: add test to read back all the container
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:36 +02:00
Giuseppe Scrivano
740b886db2
tests: perform unlink on the mountpoint
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:35 +02:00
Giuseppe Scrivano
58e9351619
main: reload directory only when necessary
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:35 +02:00
Giuseppe Scrivano
216ef5ef48
main: skip lookup if the directory is fully loaded
avoid doing a lookup in the lower layers if the directory is already
loaded.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:34 +02:00
Giuseppe Scrivano
7bd251b1da
man: fix project name
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:33 +02:00
Giuseppe Scrivano
cefd924c7a
main: xattr, not resolve symlinks
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:32 +02:00
Giuseppe Scrivano
d1c21f2572
main: add option to disable xattrs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:32 +02:00
Giuseppe Scrivano
35949df0bb
fuse: support writeback cache and enable it by default
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:31 +02:00
Giuseppe Scrivano
1b30118ef3
main: ignore ctime requests instead of EPERM
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:30 +02:00
Giuseppe Scrivano
528bdc65d4
tests: add tests for new features
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:29 +02:00
Giuseppe Scrivano
13fc65ed6b
main: make xattr operations parallel
release the lock once the fd is open.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:29 +02:00
Giuseppe Scrivano
0b0c7a3a01
main: setattr always use a fd
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:28 +02:00
Giuseppe Scrivano
468cb46773
main: rpl_stat and do_getattr operates on fd when possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:27 +02:00
Giuseppe Scrivano
27f8f6c1f5
main: add option to skip ino number check in lower layers
if specified, as soon as a file is found the lookup is completed
without looking up the correct ino number in the lower layers.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:26 +02:00
Giuseppe Scrivano
dc36739d0f
main: add option to disable fsync
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:26 +02:00
Giuseppe Scrivano
241fecf92b
main: disable fsync for lower layers
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:25 +02:00
Giuseppe Scrivano
d092552b76
main: make ioctl parallel
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:24 +02:00
Giuseppe Scrivano
7f6fec26f4
main: make statfs parallel
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-22 12:34:23 +02:00