mirror of
https://github.com/containers/fuse-overlayfs.git
synced 2025-08-04 02:15:58 -04:00
main: drop code to handle flock
the implementation of flock(2) was wrong and it caused a deadlock when multiple processes tried to lock the same file. Drop it and let FUSE handle locking for us. Closes: https://github.com/containers/fuse-overlayfs/issues/80 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
parent
2cbd1c4a2d
commit
b43ed1b391
17
main.c
17
main.c
@ -3091,22 +3091,6 @@ ovl_symlink (fuse_req_t req, const char *link, fuse_ino_t parent, const char *na
|
||||
fuse_reply_entry (req, &e);
|
||||
}
|
||||
|
||||
static void
|
||||
ovl_flock (fuse_req_t req, fuse_ino_t ino,
|
||||
struct fuse_file_info *fi, int op)
|
||||
{
|
||||
int ret, fd;
|
||||
|
||||
if (ovl_debug (req))
|
||||
fprintf (stderr, "ovl_flock(ino=%" PRIu64 "s, op=%d)\n", ino, op);
|
||||
|
||||
fd = fi->fh;
|
||||
|
||||
ret = flock (fd, op);
|
||||
|
||||
fuse_reply_err (req, ret == 0 ? 0 : errno);
|
||||
}
|
||||
|
||||
static void
|
||||
ovl_rename_exchange (fuse_req_t req, fuse_ino_t parent, const char *name,
|
||||
fuse_ino_t newparent, const char *newname,
|
||||
@ -3866,7 +3850,6 @@ static struct fuse_lowlevel_ops ovl_oper =
|
||||
.mknod = ovl_mknod,
|
||||
.link = ovl_link,
|
||||
.fsync = ovl_fsync,
|
||||
.flock = ovl_flock,
|
||||
.ioctl = ovl_ioctl,
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user