commit
be13eaa18e
@ -0,0 +1,2 @@
|
||||
fcb3641d5297938f4e183296eccaf0ccc1a0f892 SOURCES/fuse-2.9.7.tar.gz
|
||||
413a2dcb4d274483893166c7894e1920ee61ab53 SOURCES/fuse-3.3.0.tar.gz
|
@ -0,0 +1,2 @@
|
||||
SOURCES/fuse-2.9.7.tar.gz
|
||||
SOURCES/fuse-3.3.0.tar.gz
|
@ -0,0 +1,59 @@
|
||||
From 492d3a24c13babd103fb71d44adfb8e94687db52 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Reichl <preichl@redhat.com>
|
||||
Date: Tue, 7 Jun 2022 08:27:36 +0200
|
||||
Subject: [PATCH 1/4] Synchronize fuse_kernel.h
|
||||
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
include/fuse_kernel.h | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h
|
||||
index 42fa977..b55fa8b 100644
|
||||
--- a/include/fuse_kernel.h
|
||||
+++ b/include/fuse_kernel.h
|
||||
@@ -215,10 +215,12 @@ struct fuse_file_lock {
|
||||
* FOPEN_DIRECT_IO: bypass page cache for this open file
|
||||
* FOPEN_KEEP_CACHE: don't invalidate the data cache on open
|
||||
* FOPEN_NONSEEKABLE: the file is not seekable
|
||||
+ * FOPEN_CACHE_DIR: allow caching this directory
|
||||
*/
|
||||
#define FOPEN_DIRECT_IO (1 << 0)
|
||||
#define FOPEN_KEEP_CACHE (1 << 1)
|
||||
#define FOPEN_NONSEEKABLE (1 << 2)
|
||||
+#define FOPEN_CACHE_DIR (1 << 3)
|
||||
|
||||
/**
|
||||
* INIT request/reply flags
|
||||
@@ -244,6 +246,8 @@ struct fuse_file_lock {
|
||||
* FUSE_PARALLEL_DIROPS: allow parallel lookups and readdir
|
||||
* FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc
|
||||
* FUSE_POSIX_ACL: filesystem supports posix acls
|
||||
+ * FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
|
||||
+ * FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
@@ -266,6 +270,8 @@ struct fuse_file_lock {
|
||||
#define FUSE_PARALLEL_DIROPS (1 << 18)
|
||||
#define FUSE_HANDLE_KILLPRIV (1 << 19)
|
||||
#define FUSE_POSIX_ACL (1 << 20)
|
||||
+#define FUSE_MAX_PAGES (1 << 22)
|
||||
+#define FUSE_CACHE_SYMLINKS (1 << 23)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
@@ -604,7 +610,9 @@ struct fuse_init_out {
|
||||
uint16_t congestion_threshold;
|
||||
uint32_t max_write;
|
||||
uint32_t time_gran;
|
||||
- uint32_t unused[9];
|
||||
+ uint16_t max_pages;
|
||||
+ uint16_t padding;
|
||||
+ uint32_t unused[8];
|
||||
};
|
||||
|
||||
#define CUSE_INIT_INFO_MAX 4096
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,130 @@
|
||||
From 5100bdc814435a1222fef6438cebcd81a3de6c73 Mon Sep 17 00:00:00 2001
|
||||
From: scosu <mpargmann@allfex.org>
|
||||
Date: Thu, 13 Jun 2019 13:59:10 +0200
|
||||
Subject: [PATCH 2/4] fuse_lowlevel: Add max_pages support (#384)
|
||||
|
||||
Starting with kernel version 4.20 fuse supports a new property
|
||||
'max_pages' which is the maximum number of pages that can be used per
|
||||
request. This can be set via an argument during initialization.
|
||||
This new property allows writes to be larger than 128k.
|
||||
|
||||
This patch sets the property if the matching capability is set
|
||||
(FUSE_MAX_PAGES). It will also set max_write to 1MiB. Filesystems have
|
||||
the possibility to decrease this size by setting max_write to a smaller
|
||||
size. The max_pages and bufsize fields are adjusted accordingly.
|
||||
|
||||
Cc: Constantine Shulyupin <const@MakeLinux.com>
|
||||
Signed-off-by: Markus Pargmann <scosu@quobyte.com>
|
||||
(cherry picked from commit 027d0d17c8a4605109f09d9c988e255b64a2c19a)
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
ChangeLog.rst | 7 +++++++
|
||||
lib/fuse_i.h | 6 ++++++
|
||||
lib/fuse_lowlevel.c | 30 +++++++++++++++++++++---------
|
||||
3 files changed, 34 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/ChangeLog.rst b/ChangeLog.rst
|
||||
index 8ea9397..411cd4a 100644
|
||||
--- a/ChangeLog.rst
|
||||
+++ b/ChangeLog.rst
|
||||
@@ -1,6 +1,13 @@
|
||||
libfuse 3.3.0 (2018-11-06)
|
||||
==========================
|
||||
|
||||
+* Added support for fuse kernel feature `max_pages` which allows to increase
|
||||
+ the maximum number of pages that can be used per request. This feature was
|
||||
+ introduced in kernel 4.20. `max_pages` is set based on the value in
|
||||
+ `max_write`. By default `max_write` will be 1MiB now for kernels that support
|
||||
+ `max_pages`. If you want smaller buffers or writes you have to set
|
||||
+ `max_write` manually.
|
||||
+
|
||||
* The `auto_unmount` mode now works correctly in combination with
|
||||
autofs.
|
||||
|
||||
diff --git a/lib/fuse_i.h b/lib/fuse_i.h
|
||||
index cf35551..d38b630 100644
|
||||
--- a/lib/fuse_i.h
|
||||
+++ b/lib/fuse_i.h
|
||||
@@ -131,3 +131,9 @@ struct fuse *fuse_new_31(struct fuse_args *args, const struct fuse_operations *o
|
||||
int fuse_loop_mt_32(struct fuse *f, struct fuse_loop_config *config);
|
||||
int fuse_session_loop_mt_32(struct fuse_session *se, struct fuse_loop_config *config);
|
||||
|
||||
+#define FUSE_MAX_MAX_PAGES 256
|
||||
+#define FUSE_DEFAULT_MAX_PAGES_PER_REQ 32
|
||||
+
|
||||
+/* room needed in buffer to accommodate header */
|
||||
+#define FUSE_BUFFER_HEADER_SIZE 0x1000
|
||||
+
|
||||
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
|
||||
index 844e797..60195e0 100644
|
||||
--- a/lib/fuse_lowlevel.c
|
||||
+++ b/lib/fuse_lowlevel.c
|
||||
@@ -1882,6 +1882,14 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
se->conn.capable |= FUSE_CAP_POSIX_ACL;
|
||||
if (arg->flags & FUSE_HANDLE_KILLPRIV)
|
||||
se->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;
|
||||
+ if (!(arg->flags & FUSE_MAX_PAGES)) {
|
||||
+ size_t max_bufsize =
|
||||
+ FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()
|
||||
+ + FUSE_BUFFER_HEADER_SIZE;
|
||||
+ if (bufsize > max_bufsize) {
|
||||
+ bufsize = max_bufsize;
|
||||
+ }
|
||||
+ }
|
||||
} else {
|
||||
se->conn.max_readahead = 0;
|
||||
}
|
||||
@@ -1928,10 +1936,10 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
bufsize);
|
||||
bufsize = FUSE_MIN_READ_BUFFER;
|
||||
}
|
||||
+ se->bufsize = bufsize;
|
||||
|
||||
- bufsize -= 4096;
|
||||
- if (bufsize < se->conn.max_write)
|
||||
- se->conn.max_write = bufsize;
|
||||
+ if (se->conn.max_write > bufsize - FUSE_BUFFER_HEADER_SIZE)
|
||||
+ se->conn.max_write = bufsize - FUSE_BUFFER_HEADER_SIZE;
|
||||
|
||||
se->got_init = 1;
|
||||
if (se->op.init)
|
||||
@@ -1958,6 +1966,14 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (se->conn.max_write < bufsize - FUSE_BUFFER_HEADER_SIZE) {
|
||||
+ se->bufsize = se->conn.max_write + FUSE_BUFFER_HEADER_SIZE;
|
||||
+ }
|
||||
+ if (arg->flags & FUSE_MAX_PAGES) {
|
||||
+ outarg.flags |= FUSE_MAX_PAGES;
|
||||
+ outarg.max_pages = (se->conn.max_write - 1) / getpagesize() + 1;
|
||||
+ }
|
||||
+
|
||||
/* Always enable big writes, this is superseded
|
||||
by the max_write option */
|
||||
outarg.flags |= FUSE_BIG_WRITES;
|
||||
@@ -2779,11 +2795,6 @@ restart:
|
||||
return res;
|
||||
}
|
||||
|
||||
-#define KERNEL_BUF_PAGES 32
|
||||
-
|
||||
-/* room needed in buffer to accommodate header */
|
||||
-#define HEADER_SIZE 0x1000
|
||||
-
|
||||
struct fuse_session *fuse_session_new(struct fuse_args *args,
|
||||
const struct fuse_lowlevel_ops *op,
|
||||
size_t op_size, void *userdata)
|
||||
@@ -2844,7 +2855,8 @@ struct fuse_session *fuse_session_new(struct fuse_args *args,
|
||||
if (se->debug)
|
||||
fprintf(stderr, "FUSE library version: %s\n", PACKAGE_VERSION);
|
||||
|
||||
- se->bufsize = KERNEL_BUF_PAGES * getpagesize() + HEADER_SIZE;
|
||||
+ se->bufsize = FUSE_MAX_MAX_PAGES * getpagesize() +
|
||||
+ FUSE_BUFFER_HEADER_SIZE;
|
||||
|
||||
list_init_req(&se->list);
|
||||
list_init_req(&se->interrupts);
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,83 @@
|
||||
From be7f19b21c84004c5a0705f040b957fd1c609e2e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Etienne=20Dubl=C3=A9?= <etienne.duble@imag.fr>
|
||||
Date: Sun, 20 Sep 2020 20:08:15 +0200
|
||||
Subject: [PATCH 3/4] Allow caching symlinks in kernel page cache. (#551)
|
||||
|
||||
This commit defines a new capability called `FUSE_CAP_CACHE_SYMLINKS`.
|
||||
It is off by default but you can now enable it by setting this flag in
|
||||
in the `want` field of the `fuse_conn_info` structure.
|
||||
|
||||
When enabled, the kernel will save symlinks in its page cache,
|
||||
by making use of the feature introduced in kernel 4.20:
|
||||
https://github.com/torvalds/linux/commit/5571f1e65486be025f73fa6aa30fb03725d362a2
|
||||
|
||||
(cherry picked from commit ba3b225a126ebb3c6d4fe27c9f7c73aa4167001e)
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
example/printcap.c | 2 ++
|
||||
include/fuse_common.h | 13 +++++++++++++
|
||||
lib/fuse_lowlevel.c | 4 ++++
|
||||
3 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/example/printcap.c b/example/printcap.c
|
||||
index 77dea14..a66036f 100644
|
||||
--- a/example/printcap.c
|
||||
+++ b/example/printcap.c
|
||||
@@ -77,6 +77,8 @@ static void pc_init(void *userdata,
|
||||
printf("\tFUSE_CAP_PARALLEL_DIROPS\n");
|
||||
if(conn->capable & FUSE_CAP_POSIX_ACL)
|
||||
printf("\tFUSE_CAP_POSIX_ACL\n");
|
||||
+ if(conn->capable & FUSE_CAP_CACHE_SYMLINKS)
|
||||
+ printf("\tFUSE_CAP_CACHE_SYMLINKS\n");
|
||||
fuse_session_exit(se);
|
||||
}
|
||||
|
||||
diff --git a/include/fuse_common.h b/include/fuse_common.h
|
||||
index 83c9dee..a5a0ea5 100644
|
||||
--- a/include/fuse_common.h
|
||||
+++ b/include/fuse_common.h
|
||||
@@ -316,6 +316,19 @@ struct fuse_loop_config {
|
||||
*/
|
||||
#define FUSE_CAP_HANDLE_KILLPRIV (1 << 20)
|
||||
|
||||
+/**
|
||||
+ * Indicates that the kernel supports caching symlinks in its page cache.
|
||||
+ *
|
||||
+ * When this feature is enabled, symlink targets are saved in the page cache.
|
||||
+ * You can invalidate a cached link by calling:
|
||||
+ * `fuse_lowlevel_notify_inval_inode(se, ino, 0, 0);`
|
||||
+ *
|
||||
+ * This feature is disabled by default.
|
||||
+ * If the kernel supports it (>= 4.20), you can enable this feature by
|
||||
+ * setting this flag in the `want` field of the `fuse_conn_info` structure.
|
||||
+ */
|
||||
+#define FUSE_CAP_CACHE_SYMLINKS (1 << 23)
|
||||
+
|
||||
/**
|
||||
* Ioctl flags
|
||||
*
|
||||
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
|
||||
index 60195e0..43f785f 100644
|
||||
--- a/lib/fuse_lowlevel.c
|
||||
+++ b/lib/fuse_lowlevel.c
|
||||
@@ -1882,6 +1882,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
se->conn.capable |= FUSE_CAP_POSIX_ACL;
|
||||
if (arg->flags & FUSE_HANDLE_KILLPRIV)
|
||||
se->conn.capable |= FUSE_CAP_HANDLE_KILLPRIV;
|
||||
+ if (arg->flags & FUSE_CACHE_SYMLINKS)
|
||||
+ se->conn.capable |= FUSE_CAP_CACHE_SYMLINKS;
|
||||
if (!(arg->flags & FUSE_MAX_PAGES)) {
|
||||
size_t max_bufsize =
|
||||
FUSE_DEFAULT_MAX_PAGES_PER_REQ * getpagesize()
|
||||
@@ -2002,6 +2004,8 @@ static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
outarg.flags |= FUSE_WRITEBACK_CACHE;
|
||||
if (se->conn.want & FUSE_CAP_POSIX_ACL)
|
||||
outarg.flags |= FUSE_POSIX_ACL;
|
||||
+ if (se->conn.want & FUSE_CAP_CACHE_SYMLINKS)
|
||||
+ outarg.flags |= FUSE_CACHE_SYMLINKS;
|
||||
outarg.max_readahead = se->conn.max_readahead;
|
||||
outarg.max_write = se->conn.max_write;
|
||||
if (se->conn.proto_minor >= 13) {
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,65 @@
|
||||
From da57354dc8593d37eff59bc7836ee4e460a2659a Mon Sep 17 00:00:00 2001
|
||||
From: Nikolaus Rath <Nikolaus@rath.org>
|
||||
Date: Sat, 6 Apr 2019 18:34:57 +0100
|
||||
Subject: [PATCH 4/4] Add support for in-kernel readdir caching.
|
||||
|
||||
Fixes: #394.
|
||||
(cherry picked from commit 1552b467fcd7751360299c5139382d78538e12b3)
|
||||
Signed-off-by: Pavel Reichl <preichl@redhat.com>
|
||||
---
|
||||
include/fuse_common.h | 18 +++++++++++++-----
|
||||
lib/fuse_lowlevel.c | 2 ++
|
||||
2 files changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/include/fuse_common.h b/include/fuse_common.h
|
||||
index a5a0ea5..a28ffa5 100644
|
||||
--- a/include/fuse_common.h
|
||||
+++ b/include/fuse_common.h
|
||||
@@ -45,9 +45,11 @@ struct fuse_file_info {
|
||||
/** Can be filled in by open, to use direct I/O on this file. */
|
||||
unsigned int direct_io : 1;
|
||||
|
||||
- /** Can be filled in by open, to indicate that currently
|
||||
- cached file data (that the filesystem provided the last
|
||||
- time the file was open) need not be invalidated. */
|
||||
+ /** Can be filled in by open. It signals the kernel that any
|
||||
+ currently cached file data (ie., data that the filesystem
|
||||
+ provided the last time the file was open) need not be
|
||||
+ invalidated. Has no effect when set in other contexts (in
|
||||
+ particular it does nothing when set by opendir()). */
|
||||
unsigned int keep_cache : 1;
|
||||
|
||||
/** Indicates a flush operation. Set in flush operation, also
|
||||
@@ -64,8 +66,14 @@ struct fuse_file_info {
|
||||
May only be set in ->release(). */
|
||||
unsigned int flock_release : 1;
|
||||
|
||||
- /** Padding. Do not use*/
|
||||
- unsigned int padding : 27;
|
||||
+ /** Can be filled in by opendir. It signals the kernel to
|
||||
+ enable caching of entries returned by readdir(). Has no
|
||||
+ effect when set in other contexts (in particular it does
|
||||
+ nothing when set by open()). */
|
||||
+ unsigned int cache_readdir : 1;
|
||||
+
|
||||
+ /** Padding. Reserved for future use*/
|
||||
+ unsigned int padding : 26;
|
||||
|
||||
/** File handle. May be filled in by filesystem in open().
|
||||
Available in all other file operations */
|
||||
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
|
||||
index 43f785f..6379e09 100644
|
||||
--- a/lib/fuse_lowlevel.c
|
||||
+++ b/lib/fuse_lowlevel.c
|
||||
@@ -392,6 +392,8 @@ static void fill_open(struct fuse_open_out *arg,
|
||||
arg->open_flags |= FOPEN_DIRECT_IO;
|
||||
if (f->keep_cache)
|
||||
arg->open_flags |= FOPEN_KEEP_CACHE;
|
||||
+ if (f->cache_readdir)
|
||||
+ arg->open_flags |= FOPEN_CACHE_DIR;
|
||||
if (f->nonseekable)
|
||||
arg->open_flags |= FOPEN_NONSEEKABLE;
|
||||
}
|
||||
--
|
||||
2.36.1
|
||||
|
@ -0,0 +1,54 @@
|
||||
From a83b3ec1d7ce2d656a4c476d65486371d1a659b2 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Date: Tue, 2 May 2017 12:46:10 +0200
|
||||
Subject: [PATCH] From 4f8f034a8969a48f210bf00be78a67cfb6964c72 Mon Sep 17
|
||||
00:00:00 2001 From: Carlos Maiolino
|
||||
<cmaiolino-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Date: Thu, 20 Apr 2017
|
||||
14:53:01 +0200 Subject: [PATCH] make buffer size match kernel max transfer
|
||||
size
|
||||
|
||||
Currently libfuse has a hardcoded buffer limit to 128kib, while fuse
|
||||
kernel module has a limit up to 32 pages.
|
||||
|
||||
This patch changes buffer limit to match the current page size, instead
|
||||
of assuming 4096 bytes pages, enabling architectures with bigger pages
|
||||
to use larger buffers, improving performance.
|
||||
|
||||
Also, add a new macro (HEADER_SIZE) to specify the space needed to
|
||||
accommodate the header, making it easier to understand why those extra
|
||||
4096 bytes are needed
|
||||
|
||||
Signed-off-by: Carlos Maiolino <cmaiolino-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
|
||||
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
---
|
||||
lib/fuse_kern_chan.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/lib/fuse_kern_chan.c b/lib/fuse_kern_chan.c
|
||||
index 5f77bbf..4cc9b73 100644
|
||||
--- a/lib/fuse_kern_chan.c
|
||||
+++ b/lib/fuse_kern_chan.c
|
||||
@@ -80,7 +80,10 @@ static void fuse_kern_chan_destroy(struct fuse_chan *ch)
|
||||
close(fd);
|
||||
}
|
||||
|
||||
-#define MIN_BUFSIZE 0x21000
|
||||
+#define KERNEL_BUF_PAGES 32
|
||||
+
|
||||
+/* room needed in buffer to accommodate header */
|
||||
+#define HEADER_SIZE 0x1000
|
||||
|
||||
struct fuse_chan *fuse_kern_chan_new(int fd)
|
||||
{
|
||||
@@ -89,7 +92,6 @@ struct fuse_chan *fuse_kern_chan_new(int fd)
|
||||
.send = fuse_kern_chan_send,
|
||||
.destroy = fuse_kern_chan_destroy,
|
||||
};
|
||||
- size_t bufsize = getpagesize() + 0x1000;
|
||||
- bufsize = bufsize < MIN_BUFSIZE ? MIN_BUFSIZE : bufsize;
|
||||
+ size_t bufsize = KERNEL_BUF_PAGES * getpagesize() + HEADER_SIZE;
|
||||
return fuse_chan_new(&op, fd, bufsize, NULL);
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
|
@ -0,0 +1,52 @@
|
||||
From 22ba14e45e84e0bd12a9ab1c9d0460b9ae27c10c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Lemenkov <lemenkov@gmail.com>
|
||||
Date: Mon, 9 Aug 2010 12:10:40 +0400
|
||||
Subject: [PATCH 1/1] More parentheses
|
||||
|
||||
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
|
||||
---
|
||||
lib/fuse.c | 8 +++-----
|
||||
lib/fuse_lowlevel.c | 2 +-
|
||||
2 files changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/lib/fuse.c b/lib/fuse.c
|
||||
index d511964..328ebba 100644
|
||||
--- a/lib/fuse.c
|
||||
+++ b/lib/fuse.c
|
||||
@@ -991,17 +991,15 @@ static int fuse_compat_open(struct fuse_fs *fs, const char *path,
|
||||
{
|
||||
int err;
|
||||
if (!fs->compat || fs->compat >= 25)
|
||||
- err = fs->op.open(path, fi);
|
||||
+ err = (fs->op.open)(path, fi);
|
||||
else if (fs->compat == 22) {
|
||||
struct fuse_file_info_compat tmp;
|
||||
memcpy(&tmp, fi, sizeof(tmp));
|
||||
- err = ((struct fuse_operations_compat22 *) &fs->op)->open(path,
|
||||
- &tmp);
|
||||
+ err = (((struct fuse_operations_compat22 *) &fs->op)->open)(path, &tmp);
|
||||
memcpy(fi, &tmp, sizeof(tmp));
|
||||
fi->fh = tmp.fh;
|
||||
} else
|
||||
- err = ((struct fuse_operations_compat2 *) &fs->op)
|
||||
- ->open(path, fi->flags);
|
||||
+ err = (((struct fuse_operations_compat2 *) &fs->op)->open)(path, fi->flags);
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
|
||||
index c86a910..4f19d61 100644
|
||||
--- a/lib/fuse_lowlevel.c
|
||||
+++ b/lib/fuse_lowlevel.c
|
||||
@@ -716,7 +716,7 @@ static void do_open(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
|
||||
fi.flags = arg->flags;
|
||||
|
||||
if (req->f->op.open)
|
||||
- req->f->op.open(req, nodeid, &fi);
|
||||
+ (req->f->op.open)(req, nodeid, &fi);
|
||||
else
|
||||
fuse_reply_open(req, &fi);
|
||||
}
|
||||
--
|
||||
1.7.9.3
|
||||
|
@ -0,0 +1,21 @@
|
||||
diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h
|
||||
--- fuse-2.9.2/include/fuse_kernel.h.conflictfix 2013-06-26 09:31:57.862198038 -0400
|
||||
+++ fuse-2.9.2/include/fuse_kernel.h 2013-06-26 09:32:19.679198365 -0400
|
||||
@@ -88,12 +88,16 @@
|
||||
#ifndef _LINUX_FUSE_H
|
||||
#define _LINUX_FUSE_H
|
||||
|
||||
-#include <sys/types.h>
|
||||
+#ifdef __linux__
|
||||
+#include <linux/types.h>
|
||||
+#else
|
||||
+#include <stdint.h>
|
||||
#define __u64 uint64_t
|
||||
#define __s64 int64_t
|
||||
#define __u32 uint32_t
|
||||
#define __s32 int32_t
|
||||
#define __u16 uint16_t
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Version negotiation:
|
@ -0,0 +1,13 @@
|
||||
diff -up libfuse-fuse-3.0.0/lib/fuse.c.parens libfuse-fuse-3.0.0/lib/fuse.c
|
||||
--- libfuse-fuse-3.0.0/lib/fuse.c.parens 2017-03-21 09:31:31.979537796 -0400
|
||||
+++ libfuse-fuse-3.0.0/lib/fuse.c 2017-03-21 09:31:42.676250718 -0400
|
||||
@@ -1653,7 +1653,7 @@ int fuse_fs_open(struct fuse_fs *fs, con
|
||||
fprintf(stderr, "open flags: 0x%x %s\n", fi->flags,
|
||||
path);
|
||||
|
||||
- err = fs->op.open(path, fi);
|
||||
+ err = (fs->op.open)(path, fi);
|
||||
|
||||
if (fs->debug && !err)
|
||||
fprintf(stderr, " open[%llu] flags: 0x%x %s\n",
|
||||
diff -up libfuse-fuse-3.0.0/lib/fuse_lowlevel.c.parens libfuse-fuse-3.0.0/lib/fuse_lowlevel.c
|
@ -0,0 +1,11 @@
|
||||
--- libfuse-fuse-3.3.0/test/test_syscalls.c.orig 2018-11-06 19:57:47.000000000 +0100
|
||||
+++ libfuse-fuse-3.3.0/test/test_syscalls.c 2022-02-07 17:17:47.512515240 +0100
|
||||
@@ -1511,7 +1511,7 @@
|
||||
|
||||
errno = 0;
|
||||
res = rename(PATH("a/b"), PATH2("a/d"));
|
||||
- if (res == 0 || errno != ENOTEMPTY) {
|
||||
+ if (res == 0 || (errno != ENOTEMPTY && errno != EEXIST)) {
|
||||
PERROR("rename");
|
||||
goto fail;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
--- libfuse-fuse-3.3.0/util/install_helper.orig 2022-01-31 20:17:39.461137935 +0100
|
||||
+++ libfuse-fuse-3.3.0/util/install_helper.sh 2022-01-31 20:18:46.093188655 +0100
|
||||
@@ -22,18 +22,12 @@
|
||||
DESTDIR="${DESTDIR%/}"
|
||||
fi
|
||||
|
||||
-chown root:root "${DESTDIR}${bindir}/fusermount3"
|
||||
+#chown root:root "${DESTDIR}${bindir}/fusermount3"
|
||||
chmod u+s "${DESTDIR}${bindir}/fusermount3"
|
||||
|
||||
install -D -m 644 "${MESON_SOURCE_ROOT}/util/fuse.conf" \
|
||||
"${DESTDIR}${sysconfdir}/fuse.conf"
|
||||
|
||||
-
|
||||
-if test ! -e "${DESTDIR}/dev/fuse"; then
|
||||
- mkdir -p "${DESTDIR}/dev"
|
||||
- mknod "${DESTDIR}/dev/fuse" -m 0666 c 10 229
|
||||
-fi
|
||||
-
|
||||
install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
|
||||
"${DESTDIR}${udevrulesdir}/99-fuse3.rules"
|
||||
|
@ -0,0 +1,2 @@
|
||||
# mount_max = 1000
|
||||
# user_allow_other
|
@ -0,0 +1,47 @@
|
||||
From 520f09be3c2d351722c33daf7389d6ac4716be98 Mon Sep 17 00:00:00 2001
|
||||
From: Jann Horn <jannh@google.com>
|
||||
Date: Fri, 13 Jul 2018 15:15:36 -0700
|
||||
Subject: [PATCH] fusermount: don't feed "escaped commas" into mount options
|
||||
|
||||
The old code permits the following behavior:
|
||||
|
||||
$ _FUSE_COMMFD=10000 priv_strace -etrace=mount -s200 fusermount -o 'foobar=\,allow_other' mount
|
||||
mount("/dev/fuse", ".", "fuse", MS_NOSUID|MS_NODEV, "foobar=\\,allow_other,fd=3,rootmode=40000,user_id=1000,group_id=1000") = -1 EINVAL (Invalid argument)
|
||||
|
||||
However, backslashes do not have any special meaning for the kernel here.
|
||||
|
||||
As it happens, you can't abuse this because there is no FUSE mount option
|
||||
that takes a string value that can contain backslashes; but this is very
|
||||
brittle. Don't interpret "escape characters" in places where they don't
|
||||
work.
|
||||
---
|
||||
util/fusermount.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util/fusermount.c b/util/fusermount.c
|
||||
index 26a0b75bbecb..5175c0115a05 100644
|
||||
--- a/util/fusermount.c
|
||||
+++ b/util/fusermount.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <sys/socket.h>
|
||||
#include <sys/utsname.h>
|
||||
#include <sched.h>
|
||||
+#include <stdbool.h>
|
||||
|
||||
#define FUSE_COMMFD_ENV "_FUSE_COMMFD"
|
||||
|
||||
@@ -739,8 +740,10 @@ static int do_mount(const char *mnt, char **typep, mode_t rootmode,
|
||||
unsigned len;
|
||||
const char *fsname_str = "fsname=";
|
||||
const char *subtype_str = "subtype=";
|
||||
+ bool escape_ok = begins_with(s, fsname_str) ||
|
||||
+ begins_with(s, subtype_str);
|
||||
for (len = 0; s[len]; len++) {
|
||||
- if (s[len] == '\\' && s[len + 1])
|
||||
+ if (escape_ok && s[len] == '\\' && s[len + 1])
|
||||
len++;
|
||||
else if (s[len] == ',')
|
||||
break;
|
||||
--
|
||||
2.14.3
|
||||
|
@ -0,0 +1,540 @@
|
||||
%global fuse2ver 2.9.7
|
||||
%global fuse2sver 2
|
||||
%global fuse3ver 3.3.0
|
||||
|
||||
Name: fuse
|
||||
Version: %{fuse2ver}
|
||||
Release: 16%{?dist}
|
||||
Summary: File System in Userspace (FUSE) v2 utilities
|
||||
License: GPL+
|
||||
URL: http://fuse.sf.net
|
||||
#fuse2 sources
|
||||
Source0: https://github.com/libfuse/libfuse/archive/%{name}-%{fuse2ver}.tar.gz
|
||||
#fuse3 sources
|
||||
Source1: https://github.com/libfuse/libfuse/archive/%{name}-%{fuse3ver}.tar.gz
|
||||
Source2: %{name}.conf
|
||||
|
||||
Patch1: fuse-3.0.0-More-parentheses.patch
|
||||
Patch2: fuse-0001-More-parentheses.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=970768
|
||||
Patch3: fuse-2.9.2-namespace-conflict-fix.patch
|
||||
Patch4: fuse-3.2.1-no-dev.patch
|
||||
Patch5: fusermount-don-t-feed-escaped-commas-into-mount-opti.patch
|
||||
Patch6: buffer_size.patch
|
||||
Patch7: fuse-3.10.4-fix-test-failure.patch
|
||||
Patch8: 0001-Synchronize-fuse_kernel.h.patch
|
||||
Patch9: 0002-fuse_lowlevel-Add-max_pages-support-384.patch
|
||||
Patch10: 0003-Allow-caching-symlinks-in-kernel-page-cache.-551.patch
|
||||
Patch11: 0004-Add-support-for-in-kernel-readdir-caching.patch
|
||||
|
||||
Requires: which
|
||||
Conflicts: filesystem < 3
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||
BuildRequires: meson, ninja-build, systemd-udev
|
||||
Requires: fuse-common = %{fuse3ver}
|
||||
|
||||
%description
|
||||
With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains the FUSE v2 userspace tools to
|
||||
mount a FUSE filesystem.
|
||||
|
||||
%package -n fuse3
|
||||
Version: %{fuse3ver}
|
||||
Summary: File System in Userspace (FUSE) v3 utilitie
|
||||
Requires: fuse-common = %{fuse3ver}
|
||||
Requires: fuse3-libs = %{fuse3ver}-%{release}
|
||||
|
||||
%description -n fuse3
|
||||
With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains the FUSE v3 userspace tools to
|
||||
mount a FUSE filesystem.
|
||||
|
||||
%package libs
|
||||
Version: %{fuse2ver}
|
||||
Summary: File System in Userspace (FUSE) v2 libraries
|
||||
Group: System Environment/Libraries
|
||||
License: LGPLv2+
|
||||
Conflicts: filesystem < 3
|
||||
|
||||
%description libs
|
||||
Devel With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains the FUSE v2 libraries.
|
||||
|
||||
%package -n fuse3-libs
|
||||
Version: %{fuse3ver}
|
||||
Summary: File System in Userspace (FUSE) v3 libraries
|
||||
Group: System Environment/Libraries
|
||||
License: LGPLv2+
|
||||
Conflicts: filesystem < 3
|
||||
|
||||
%description -n fuse3-libs
|
||||
Devel With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains the FUSE v3 libraries.
|
||||
|
||||
%package devel
|
||||
Version: %{fuse2ver}
|
||||
Summary: File System in Userspace (FUSE) v2 devel files
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-libs = %{fuse2ver}-%{release}
|
||||
Requires: pkgconfig
|
||||
License: LGPLv2+
|
||||
Conflicts: filesystem < 3
|
||||
|
||||
%description devel
|
||||
With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains development files (headers,
|
||||
pgk-config) to develop FUSE v2 based applications/filesystems.
|
||||
|
||||
%package -n fuse3-devel
|
||||
Version: %{fuse3ver}
|
||||
Summary: File System in Userspace (FUSE) v3 devel files
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}3-libs = %{fuse3ver}-%{release}
|
||||
Requires: pkgconfig
|
||||
License: LGPLv2+
|
||||
Conflicts: filesystem < 3
|
||||
|
||||
%description -n fuse3-devel
|
||||
With FUSE it is possible to implement a fully functional filesystem in a
|
||||
userspace program. This package contains development files (headers,
|
||||
pgk-config) to develop FUSE v3 based applications/filesystems.
|
||||
|
||||
%package common
|
||||
Version: %{fuse3ver}
|
||||
Summary: Common files for File System in Userspace (FUSE) v2 and v3
|
||||
License: GPL+
|
||||
|
||||
%description common
|
||||
Common files for FUSE v2 and FUSE v3.
|
||||
|
||||
%prep
|
||||
%setup -q -T -c -n fuse2and3 -a0 -a1
|
||||
|
||||
# fuse 3
|
||||
pushd lib%{name}-%{name}-%{fuse3ver}
|
||||
%patch1 -p1 -b .add_parentheses
|
||||
%patch4 -p1 -b .nodev
|
||||
%patch7 -p1 -b .test_fail
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
|
||||
popd
|
||||
|
||||
# fuse 2
|
||||
pushd lib%{name}-%{name}-%{fuse2ver}
|
||||
./makeconf.sh
|
||||
#disable device creation during build/install
|
||||
sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in
|
||||
%patch2 -p1 -b .add_parentheses
|
||||
%patch3 -p1 -b .conflictfix
|
||||
%patch5 -p1 -b .escaped_commas
|
||||
%patch6 -p1 -b .buffer_size
|
||||
popd
|
||||
|
||||
%build
|
||||
# fuse 3
|
||||
pushd lib%{name}-%{name}-%{fuse3ver}
|
||||
%meson
|
||||
%meson_build
|
||||
%if 0
|
||||
# Can't pass --disable-static here, or else the utils don't build
|
||||
export MOUNT_FUSE_PATH="%{_sbindir}"
|
||||
CFLAGS="%{optflags} -D_GNU_SOURCE" %configure
|
||||
make %{?_smp_mflags} V=1
|
||||
%endif
|
||||
popd
|
||||
|
||||
# fuse 2
|
||||
pushd lib%{name}-%{name}-%{fuse2ver}
|
||||
# Can't pass --disable-static here, or else the utils don't build
|
||||
export MOUNT_FUSE_PATH="%{_sbindir}"
|
||||
CFLAGS="%{optflags} -D_GNU_SOURCE" %configure
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
|
||||
%install
|
||||
# fuse 3
|
||||
pushd lib%{name}-%{name}-%{fuse3ver}
|
||||
export MESON_INSTALL_DESTDIR_PREFIX=%{buildroot}/usr %meson_install
|
||||
popd
|
||||
find %{buildroot} .
|
||||
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
||||
# change from 4755 to 0755 to allow stripping -- fixed later in files
|
||||
chmod 0755 %{buildroot}/%{_bindir}/fusermount3
|
||||
|
||||
# fuse 2
|
||||
pushd lib%{name}-%{name}-%{fuse2ver}
|
||||
install -m 0755 lib/.libs/libfuse.so.%{fuse2ver} %{buildroot}/%{_libdir}
|
||||
install -m 0755 lib/.libs/libulockmgr.so.1.0.1 %{buildroot}/%{_libdir}
|
||||
install -p fuse.pc %{buildroot}/%{_libdir}/pkgconfig/
|
||||
install -m 0755 util/fusermount %{buildroot}/%{_bindir}
|
||||
install -m 0755 util/mount.fuse %{buildroot}/%{_sbindir}
|
||||
install -m 0755 util/ulockmgr_server %{buildroot}/%{_bindir}
|
||||
mkdir -p %{buildroot}/%{_includedir}/fuse
|
||||
install -p include/old/fuse.h %{buildroot}/%{_includedir}/
|
||||
install -p include/ulockmgr.h %{buildroot}/%{_includedir}/
|
||||
for i in cuse_lowlevel.h fuse_common_compat.h fuse_common.h fuse_compat.h fuse.h fuse_lowlevel_compat.h fuse_lowlevel.h fuse_opt.h; do
|
||||
install -p include/$i %{buildroot}/%{_includedir}/fuse/
|
||||
done
|
||||
popd
|
||||
pushd %{buildroot}/%{_libdir}
|
||||
ln -s libfuse.so.%{fuse2ver} libfuse.so.%{fuse2sver}
|
||||
ln -s libfuse.so.%{fuse2ver} libfuse.so
|
||||
ln -s libulockmgr.so.1.0.1 libulockmgr.so.1
|
||||
ln -s libulockmgr.so.1.0.1 libulockmgr.so
|
||||
popd
|
||||
pushd %{buildroot}/%{_mandir}/man8
|
||||
ln -s mount.fuse3.8 mount.fuse.8
|
||||
popd
|
||||
|
||||
# Get rid of static libs
|
||||
rm -f %{buildroot}/%{_libdir}/*.a
|
||||
# No need to create init-script
|
||||
rm -f %{buildroot}%{_sysconfdir}/init.d/fuse3
|
||||
|
||||
# Install config-file
|
||||
install -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}
|
||||
|
||||
# Delete pointless udev rules, which do not belong in /etc (brc#748204)
|
||||
rm -f %{buildroot}/usr/lib/udev/rules.d/99-fuse3.rules
|
||||
|
||||
%post libs -p /sbin/ldconfig
|
||||
|
||||
%post -n fuse3-libs -p /sbin/ldconfig
|
||||
|
||||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
%postun -n fuse3-libs -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%license libfuse-fuse-%{fuse2ver}/COPYING
|
||||
%doc libfuse-fuse-%{fuse2ver}/AUTHORS libfuse-fuse-%{fuse2ver}/ChangeLog libfuse-fuse-%{fuse2ver}/NEWS libfuse-fuse-%{fuse2ver}/README.md libfuse-fuse-%{fuse2ver}/README.NFS
|
||||
%{_sbindir}/mount.fuse
|
||||
%attr(4755,root,root) %{_bindir}/fusermount
|
||||
%{_bindir}/ulockmgr_server
|
||||
|
||||
%files -n fuse3
|
||||
%license libfuse-fuse-%{fuse3ver}/GPL2.txt libfuse-fuse-%{fuse3ver}/LICENSE
|
||||
|
||||
%doc libfuse-fuse-%{fuse3ver}/AUTHORS libfuse-fuse-%{fuse3ver}/ChangeLog.rst libfuse-fuse-%{fuse3ver}/README.md
|
||||
%{_sbindir}/mount.fuse3
|
||||
%attr(4755,root,root) %{_bindir}/fusermount3
|
||||
|
||||
%files common
|
||||
%config(noreplace) %{_sysconfdir}/%{name}.conf
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%files libs
|
||||
%license libfuse-fuse-%{fuse2ver}/COPYING.LIB
|
||||
%{_libdir}/libfuse.so.*
|
||||
%{_libdir}/libulockmgr.so.*
|
||||
|
||||
%files -n fuse3-libs
|
||||
%license libfuse-fuse-%{fuse3ver}/LGPL2.txt
|
||||
%{_libdir}/libfuse3.so.*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libfuse.so
|
||||
%{_libdir}/libulockmgr.so
|
||||
%{_libdir}/pkgconfig/fuse.pc
|
||||
%{_includedir}/fuse.h
|
||||
%{_includedir}/ulockmgr.h
|
||||
%{_includedir}/fuse
|
||||
|
||||
%files -n fuse3-devel
|
||||
%{_libdir}/libfuse3.so
|
||||
%{_libdir}/pkgconfig/fuse3.pc
|
||||
%{_includedir}/fuse3/
|
||||
|
||||
%changelog
|
||||
* Mon May 30 2022 Pavel Reichl <preichl@redhat.com> - 2.9.7-16
|
||||
- Back-port max_pages support,
|
||||
- caching symlinks in kernel page cache,
|
||||
- and in-kernel readdir caching
|
||||
- Fixed rhbz#2080000
|
||||
|
||||
* Wed Feb 23 2022 Pavel Reichl <preichl@redhat.com> - 2.9.7-15
|
||||
- Fix missing dependency of fuse3 on fuse3-libs
|
||||
- Make symlink for mount.fuse to mount.fuse3
|
||||
|
||||
* Mon Feb 07 2022 Pavel Reichl <preichl@redhat.com> - 2.9.7-14
|
||||
- Fix failing test for fuse-3
|
||||
|
||||
* Mon Jan 31 2022 Pavel Reichl <preichl@redhat.com> - 2.9.7-13
|
||||
- update to 3.3.0
|
||||
- patch #5 is part of fuse-3 upstream now
|
||||
|
||||
* Thu Nov 08 2018 Miklos Szeredi <mszeredi@redhat.com> - 2.9.7-12
|
||||
- Fixed CVE-2018-10906 (rhbz#1607855)
|
||||
- Fix regression from RHEL7 (rhbz#1648280)
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Nov 16 2017 Tom Callaway <spot@fedoraproject.org> 2.9.7-10
|
||||
- update fuse3 to 3.2.1
|
||||
|
||||
* Mon Aug 7 2017 Tom Callaway <spot@fedoraproject.org> 2.9.7-9
|
||||
- update fuse3 to 3.1.1
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Fri Jul 28 2017 Tom Callaway <spot@fedoraproject.org> - 2.9.7-7
|
||||
- use -D_FILE_OFFSET_BITS=64 to force off_t to be 64bit on 32bit arches
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon Jul 17 2017 Tom Callaway <spot@fedoraproject.org> - 3.1.0-5
|
||||
- update to 3.1.0
|
||||
|
||||
* Thu Jun 1 2017 Tom Callaway <spot@fedoraproject.org> - 3.0.2-4
|
||||
- update to 3.0.2
|
||||
|
||||
* Sun Mar 26 2017 Tom Callaway <spot@fedoraproject.org> - 3.0.0-3
|
||||
- update release to 3 to make clean upgrade
|
||||
|
||||
* Tue Mar 21 2017 Tom Callaway <spot@fedoraproject.org> - 3.0.0-1
|
||||
- update to 3.0.0
|
||||
- split out fuse3 packages
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Wed Jul 6 2016 Tom Callaway <spot@fedoraproject.org> - 2.9.7-1
|
||||
- update to 2.9.7
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Thu Oct 08 2015 Adam Williamson <awilliam@redhat.com> - 2.9.4-3
|
||||
- backport patch allowing setting SELinux context on FUSE mounts
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Fri May 22 2015 Tom Callaway <spot@fedoraproject.org> 2.9.4-1
|
||||
- update to 2.9.4
|
||||
- fixes CVE-2015-3202
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sat Jul 6 2013 Tom Callaway <spot@fedoraproject.org> - 2.9.3-1
|
||||
- update to 2.9.3
|
||||
|
||||
* Wed Jun 26 2013 Tom Callaway <spot@fedoraproject.org> - 2.9.2-4
|
||||
- add fix for namespace conflict in fuse_kernel.h
|
||||
|
||||
* Sat May 18 2013 Peter Lemenkov <lemenkov@gmail.com> - 2.9.2-3
|
||||
- Removed pre-F12 stuff
|
||||
- Dropped ancient dependency on initscripts and chkconfig
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.9.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Dec 06 2012 Adam Jackson <ajax@redhat.com>
|
||||
- Remove ancient Requires: kernel >= 2.6.14, FC6 was 2.6.18.
|
||||
|
||||
* Tue Oct 23 2012 Tom Callaway <spot@fedoraproject.org> - 2.9.2-1
|
||||
- update to 2.9.2
|
||||
|
||||
* Tue Aug 28 2012 Tom Callaway <spot@fedoraproject.org> - 2.9.1-1
|
||||
- update to 2.9.1
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Apr 16 2012 Peter Lemenkov <lemenkov@gmail.com> - 2.8.7-1
|
||||
- Ver. 2.8.7
|
||||
|
||||
* Sun Apr 15 2012 Kay Sievers <kay@redhat.com> - 2.8.6-4
|
||||
- remove needless udev rule
|
||||
|
||||
* Wed Jan 25 2012 Harald Hoyer <harald@redhat.com> 2.8.6-3
|
||||
- install everything in /usr
|
||||
https://fedoraproject.org/wiki/Features/UsrMove
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Thu Sep 22 2011 Peter Lemenkov <lemenkov@gmail.com> - 2.8.6-1
|
||||
- Ver. 2.8.6
|
||||
- Dropped patch 3 - fixed upstream
|
||||
|
||||
* Thu Mar 03 2011 Peter Lemenkov <lemenkov@gmail.com> - 2.8.5-5
|
||||
- Use noreplace for /etc/fuse.conf
|
||||
|
||||
* Tue Feb 15 2011 Peter Lemenkov <lemenkov@gmail.com> - 2.8.5-4
|
||||
- Provide /etc/fuse.conf (see rhbz #292811)
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.8.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Oct 27 2010 Peter Lemenkov <lemenkov@gmail.com> 2.8.5-2
|
||||
- Fixed rhbz #622255
|
||||
|
||||
* Tue Oct 26 2010 Peter Lemenkov <lemenkov@gmail.com> 2.8.5-1
|
||||
- Ver. 2.8.5
|
||||
|
||||
* Tue Jun 8 2010 Peter Lemenkov <lemenkov@gmail.com> 2.8.4-1
|
||||
- Ver. 2.8.4
|
||||
- CVE-2009-3297 patch dropped (merged upstream)
|
||||
|
||||
* Tue Jan 26 2010 Peter Lemenkov <lemenkov@gmail.com> 2.8.1-4
|
||||
- Fixed CVE-2009-3297 (rhbz #558833)
|
||||
|
||||
* Thu Nov 19 2009 Peter Lemenkov <lemenkov@gmail.com> 2.8.1-3
|
||||
- Fixed udev rules (bz# 538606)
|
||||
|
||||
* Thu Nov 19 2009 Peter Lemenkov <lemenkov@gmail.com> 2.8.1-2
|
||||
- Removed support for MAKEDEV (bz# 511220)
|
||||
|
||||
* Thu Sep 17 2009 Peter Lemenkov <lemenkov@gmail.com> 2.8.1-1
|
||||
- Ver. 2.8.1
|
||||
|
||||
* Wed Aug 19 2009 Peter Lemenkov <lemenkov@gmail.com> 2.8.0-1
|
||||
- Ver. 2.8.0
|
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Wed Jan 28 2009 Peter Lemenkov <lemenkov@gmail.com> 2.7.4-2
|
||||
- Fixed BZ#479581
|
||||
|
||||
* Sat Aug 23 2008 Peter Lemenkov <lemenkov@gmail.com> 2.7.4-1
|
||||
- Ver. 2.7.4
|
||||
|
||||
* Sat Jul 12 2008 Peter Lemenkov <lemenkov@gmail.com> 2.7.3-3
|
||||
- Fixed initscripts (BZ#441284)
|
||||
|
||||
* Thu Feb 28 2008 Peter Lemenkov <lemenkov@gmail.com> 2.7.3-2
|
||||
- Fixed BZ#434881
|
||||
|
||||
* Wed Feb 20 2008 Peter Lemenkov <lemenkov@gmail.com> 2.7.3-1
|
||||
- Ver. 2.7.3
|
||||
- Removed usergroup fuse
|
||||
- Added chkconfig support (BZ#228088)
|
||||
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.7.2-2
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Mon Jan 21 2008 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.2-1
|
||||
- bump to 2.7.2
|
||||
- fix license tag
|
||||
|
||||
* Sun Nov 4 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-9
|
||||
- fix initscript to work with chkconfig
|
||||
|
||||
* Mon Oct 1 2007 Peter Lemenkov <lemenkov@gmail.com> 2.7.0-8
|
||||
- Added Require: which (BZ#312511)
|
||||
|
||||
* Fri Sep 21 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-7
|
||||
- revert udev rules change
|
||||
|
||||
* Thu Sep 20 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-6
|
||||
- change udev rules so that /dev/fuse is chmod 666 (bz 298651)
|
||||
|
||||
* Wed Aug 29 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-5
|
||||
- fix open issue (bz 265321)
|
||||
|
||||
* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 2.7.0-4
|
||||
- Rebuild for selinux ppc32 issue.
|
||||
|
||||
* Sun Jul 22 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-3
|
||||
- put pkgconfig file in correct place
|
||||
- enable compat symlinks for files in /bin
|
||||
|
||||
* Sat Jul 21 2007 Tom "spot" Callaway <tcallawa@redhat.com> 2.7.0-2
|
||||
- redefine exec_prefix to /
|
||||
- redefine bindir to /bin
|
||||
- redefine libdir to %%{_lib}
|
||||
- don't pass --disable-static to configure
|
||||
- manually rm generated static libs
|
||||
|
||||
* Wed Jul 18 2007 Peter Lemenkov <lemenkov@gmail.com> 2.7.0-1
|
||||
- Version 2.7.0
|
||||
- Redefined exec_prefix due to demands from NTFS-3G
|
||||
|
||||
* Wed Jun 6 2007 Peter Lemenkov <lemenkov@gmail.com> 2.6.5-2
|
||||
- Add BR libselinux-devel (bug #235145)
|
||||
- Config files properly marked as config (bug #211122)
|
||||
|
||||
* Sat May 12 2007 Peter Lemenkov <lemenkov@gmail.com> 2.6.5-1
|
||||
- Version 2.6.5
|
||||
|
||||
* Thu Feb 22 2007 Peter Lemenkov <lemenkov@gmail.com> 2.6.3-2
|
||||
- Fixed bug #229642
|
||||
|
||||
* Wed Feb 7 2007 Peter Lemenkov <lemenkov@gmail.com> 2.6.3-1
|
||||
* Ver. 2.6.3
|
||||
|
||||
* Tue Dec 26 2006 Peter Lemenkov <lemenkov@gmail.com> 2.6.1-1
|
||||
- Ver. 2.6.1
|
||||
|
||||
* Sat Nov 25 2006 Peter Lemenkov <lemenkov@gmail.com> 2.6.0-2
|
||||
- fixed nasty typo (see bug #217075)
|
||||
|
||||
* Fri Nov 3 2006 Peter Lemenkov <lemenkov@gmail.com> 2.6.0-1
|
||||
- Ver. 2.6.0
|
||||
|
||||
* Sun Oct 29 2006 Peter Lemenkov <lemenkov@gmail.com> 2.5.3-5
|
||||
- Fixed udev-rule again
|
||||
|
||||
* Sat Oct 7 2006 Peter Lemenkov <lemenkov@gmail.com> 2.5.3-4
|
||||
- Fixed udev-rule
|
||||
|
||||
* Tue Sep 12 2006 Peter Lemenkov <lemenkov@gmail.com> 2.5.3-3%{?dist}
|
||||
- Rebuild for FC6
|
||||
|
||||
* Wed May 03 2006 Peter Lemenkov <lemenkov@newmail.ru> 2.5.3-1%{?dist}
|
||||
- Update to 2.5.3
|
||||
|
||||
* Thu Mar 30 2006 Peter Lemenkov <lemenkov@newmail.ru> 2.5.2-4%{?dist}
|
||||
- rebuild
|
||||
|
||||
* Mon Feb 13 2006 Peter Lemenkov <lemenkov@newmail.ru> - 2.5.2-3
|
||||
- Proper udev rule
|
||||
|
||||
* Mon Feb 13 2006 Peter Lemenkov <lemenkov@newmail.ru> - 2.5.2-2
|
||||
- Added missing requires
|
||||
|
||||
* Tue Feb 07 2006 Peter Lemenkov <lemenkov@newmail.ru> - 2.5.2-1
|
||||
- Update to 2.5.2
|
||||
- Dropped fuse-mount.fuse.patch
|
||||
|
||||
* Wed Nov 23 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.2-1
|
||||
- Use dist
|
||||
|
||||
* Wed Nov 23 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.2-1
|
||||
- Update to 2.4.2 (solves CVE-2005-3531)
|
||||
- Update README.fedora
|
||||
|
||||
* Sat Nov 12 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-3
|
||||
- Add README.fedora
|
||||
- Add hint to README.fedora and that you have to be member of the group "fuse"
|
||||
in the description
|
||||
- Use groupadd instead of fedora-groupadd
|
||||
|
||||
* Fri Nov 04 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-2
|
||||
- Rename packages a bit
|
||||
- use makedev.d/40-fuse.nodes
|
||||
- fix /sbin/mount.fuse
|
||||
- Use a fuse group to restict access to fuse-filesystems
|
||||
|
||||
* Fri Oct 28 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-1
|
||||
- Initial RPM release.
|
Loading…
Reference in new issue