798 Commits

Author SHA1 Message Date
Giuseppe Scrivano
cc7218e7c9
configure.ac: tag 0.6.1
Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-08-25 23:07:01 +02:00
Giuseppe Scrivano
7251f20c4b
main: correctly read inode for unix sockets
correctly read the inode when processing a UNIX socket.

regression introduced by b25bbde64dc5d06373e087d7fae6367acf1fd09e.

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

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-08-25 23:06:32 +02:00
Daniel J Walsh
43b641d7f2
Merge pull request #109 from giuseppe/same-ino-hardlinks
main: introduce inodes cache
v0.6
2019-08-25 06:05:02 -04:00
Giuseppe Scrivano
68ae354567
fuse-overlayfs: tag 0.6
also add a NEWS file with the changes in the current version.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-23 16:00:19 +02:00
Giuseppe Scrivano
b25bbde64d
main: introduce inodes cache
introduce a hash map to refer from an inode to the file paths.
A recent change where we enable FUSE writeback by default uncovered an
underlying issue in fuse-overlayfs where changes to a file with
multiple links would not be visible from the other link.

For each inode, maintain a list of nodes that refer to it, so that we
can still access it when a link is removed and more importantly we can
use the inode value with FUSE.

Closes: https://github.com/containers/fuse-overlayfs/issues/108
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1744109

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-23 15:27:12 +02:00
Daniel J Walsh
f8ba9ade20
Merge pull request #106 from giuseppe/travis-use-known-tag
travis: fix build issue with meson master
2019-08-21 09:01:40 -04:00
Giuseppe Scrivano
eca925cf4e
.travis: use a shallow clone
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-21 14:54:50 +02:00
Giuseppe Scrivano
057b009a04
travis: use a known tag for meson
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-21 14:53:44 +02:00
Giuseppe Scrivano
4dc60f0e15
configure.ac: tag 0.5.2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
v0.5.2
2019-08-19 16:57:11 +02:00
Daniel J Walsh
89b814dc27
Merge pull request #105 from giuseppe/fix-get-xattr-directory
main: if the path is a dir, work on the proc path
2019-08-16 07:39:58 -04:00
Giuseppe Scrivano
9e110ad55c
main, listxattr: open the file in read only mode
Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-08-15 23:14:25 +02:00
Giuseppe Scrivano
08136d8826
main: if the path is a dir, work on the proc path
when reading xattr, if the path cannot be open as it is a directory,
operate on the /proc/fd/FD path.

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

Signed-off-by: Giuseppe Scrivano <giuseppe@scrivano.org>
2019-08-15 21:55:25 +02:00
Daniel J Walsh
c756bbe9e7
Merge pull request #103 from giuseppe/use-cached-mode
main: use cached st_mode
2019-08-12 15:23:58 -04:00
Giuseppe Scrivano
3b27676c88
main: use cached st_mode
node already keeps st_mode in cache so there is no need of the
additional stat to find out the file type.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-11 23:44:57 +02:00
Daniel J Walsh
58e3f7c5e2
Merge pull request #101 from giuseppe/fix-chown-fifo
main: simplify setattr
v0.5.1
2019-08-08 09:30:46 -04:00
Giuseppe Scrivano
e854550507
configure.ac: tag new release
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-07 23:58:06 +02:00
Giuseppe Scrivano
1faf62ce32
main: simplify setattr
always use the /proc/self/fd/FD path when the path doesn't refer to a
directory or regular file.

commit 0b0c7a3a01dae4de65ba79016a111d794c1d1719 introduced the
regression.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-07 23:58:06 +02:00
Daniel J Walsh
80eb59d71d
Merge pull request #98 from giuseppe/fix-rpm
rpm: sync with Fedora repo
2019-08-06 07:38:28 -04:00
Giuseppe Scrivano
78e111aa8d
rpm: sync with Fedora repo
this is useful to build a development rpm that can be quickly moved
around.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-08-06 12:11:42 +02:00
Daniel J Walsh
b92a6544cf
Merge pull request #97 from giuseppe/fix-type
main: fix type for flistxattr return
2019-08-01 05:21:37 -04:00
Giuseppe Scrivano
5e325f7d9c
main: fix type for flistxattr return
the return type is ssize_t, not size_t.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-31 16:26:01 +02:00
Daniel J Walsh
2393f6c48d
Merge pull request #96 from giuseppe/release-0.5
configure.ac: tag new version 0.5
v0.5
2019-07-30 10:33:03 -04:00
Giuseppe Scrivano
cf60f30b86
configure.ac: tag new version 0.5
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-30 12:19:31 +02:00
Daniel J Walsh
95120c05a0
Merge pull request #94 from giuseppe/free-wd
main: make sure the work directory is empty
2019-07-29 10:18:59 -04:00
Giuseppe Scrivano
56cc4d3d61
main: fix warnings reported by lgtm.com
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-29 13:36:07 +02:00
Giuseppe Scrivano
cf86b89adc
main: open the fd correctly for reading xattrs
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-29 13:35:23 +02:00
Giuseppe Scrivano
cecbcbb7ad
main: make sure the work directory is empty
make sure the work directory is empty when fuse-overlayfs starts.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-29 13:35:22 +02:00
Giuseppe Scrivano
f0d76efda5
Merge pull request #95 from giuseppe/lgtm.yml
.lgtm.yml: new file
2019-07-29 13:23:38 +02:00
Giuseppe Scrivano
c5218a2a72
.lgtm.yml: new file
add instructions for building on lgtm.com.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-29 01:04:41 +02:00
Daniel J Walsh
9a2ef041aa
Merge pull request #92 from giuseppe/fix-file-leak
fuse-overlayfs: fix a fd leak when creating new files
2019-07-26 05:49:35 -04:00
Giuseppe Scrivano
4e32e8907d
main: fix fd validity check
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 17:56:30 +02:00
Giuseppe Scrivano
45b8bb85d4
main, rename: use cleanup_close
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 17:50:58 +02:00
Daniel J Walsh
9c77da7d73
Merge pull request #91 from giuseppe/perf-improvements-3
perf: improve performance for mkdir and open(O_CREAT)
2019-07-25 11:42:34 -04:00
Giuseppe Scrivano
74f047933b
main: mark dir loaded only if timeout>0
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 16:10:07 +02:00
Giuseppe Scrivano
49c88306d7
main, open: avoid a stat when creating a file
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 15:46:55 +02:00
Giuseppe Scrivano
1a3ae79283
main: fix memory leak
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 15:46:54 +02:00
Giuseppe Scrivano
22246f29f3
main, xattr: fix memory leak
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 15:46:54 +02:00
Giuseppe Scrivano
7e54c97400
main: fix read after free
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 15:46:53 +02:00
Giuseppe Scrivano
79c802f61e
main, open: avoid a lookup if the node is known
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 10:12:11 +02:00
Giuseppe Scrivano
80a0260043
file, open: do not double close fd
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 10:12:10 +02:00
Giuseppe Scrivano
dd744c7fc2
file, open: avoid deleting the whiteout if possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 10:12:09 +02:00
Giuseppe Scrivano
6dbc45b821
file, open: create directly the file if possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-25 10:12:08 +02:00
Giuseppe Scrivano
348f60a277
file, open: move code to create a file to its function
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 17:05:51 +02:00
Giuseppe Scrivano
2404d5f9b1
main, mkdir: create directly the directory if possible
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 16:38:01 +02:00
Giuseppe Scrivano
3286532636
main, symlink: avoid a chown if it is not needed
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 16:10:14 +02:00
Giuseppe Scrivano
a77edee351
main, open: avoid a chown if it is not needed
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 16:09:08 +02:00
Giuseppe Scrivano
0749dd7fb8
main, copyup: avoid a chown if it is not needed
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 16:04:38 +02:00
Giuseppe Scrivano
74fa25112a
main, mkdir: avoid a chown if it is not needed
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-24 16:03:58 +02:00
Daniel J Walsh
bd9eb8d5cd
Merge pull request #89 from giuseppe/perf-improvements-2
fuse-overlayfs: different performance tweaks continuation of #88
2019-07-24 06:56:29 -04:00
Giuseppe Scrivano
1395753e1a
main, fsync: if fsync is disabled return ENOSYS
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-23 16:14:40 +02:00