Skip to content

Commit a1ea942

Browse files
authored
Merge pull request #2 from DDNStorage/redfs-ubuntu-noble-6.8.0-58.60-updates
Main update of Ubuntu 6.8.0-58.60 Merging it, there is a still a bug, but that bug is present in redfs-6.8.
2 parents 1286e4a + 78dec11 commit a1ea942

File tree

20 files changed

+3001
-436
lines changed

20 files changed

+3001
-436
lines changed

Documentation/admin-guide/sysctl/fs.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,3 +332,13 @@ Each "watch" costs roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes
332332
on a 64-bit one.
333333
The current default value for ``max_user_watches`` is 4% of the
334334
available low memory, divided by the "watch" cost in bytes.
335+
336+
5. /proc/sys/fs/fuse - Configuration options for FUSE filesystems
337+
=====================================================================
338+
339+
This directory contains the following configuration options for FUSE
340+
filesystems:
341+
342+
``/proc/sys/fs/fuse/max_pages_limit`` is a read/write file for
343+
setting/getting the maximum number of pages that can be used for servicing
344+
requests in FUSE.

fs/fuse/Kconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,15 @@ config FUSE_DAX
5252

5353
If you want to allow mounting a Virtio Filesystem with the "dax"
5454
option, answer Y.
55+
56+
config FUSE_IO_URING
57+
bool "FUSE communication over io-uring"
58+
default y
59+
depends on FUSE_FS
60+
depends on IO_URING
61+
help
62+
This allows sending FUSE requests over the io-uring interface and
63+
also adds request core affinity.
64+
65+
If you want to allow fuse server/client communication through io-uring,
66+
answer Y

fs/fuse/Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@
33
# Makefile for the FUSE filesystem.
44
#
55

6+
# Needed for trace events
7+
ccflags-y = -I$(src)
8+
69
obj-$(CONFIG_FUSE_FS) += fuse.o
710
obj-$(CONFIG_CUSE) += cuse.o
811
obj-$(CONFIG_VIRTIO_FS) += virtiofs.o
912

1013
fuse-y := dev.o dir.o file.o inode.o control.o xattr.o acl.o readdir.o ioctl.o
14+
fuse-y += iomode.o
1115
fuse-$(CONFIG_FUSE_DAX) += dax.o
16+
fuse-$(CONFIG_FUSE_IO_URING) += dev_uring.o
17+
fuse-$(CONFIG_SYSCTL) += sysctl.o
1218

1319
virtiofs-y := virtio_fs.o

fs/fuse/dax.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -240,11 +240,12 @@ static int fuse_send_removemapping(struct inode *inode,
240240

241241
args.opcode = FUSE_REMOVEMAPPING;
242242
args.nodeid = fi->nodeid;
243-
args.in_numargs = 2;
244-
args.in_args[0].size = sizeof(*inargp);
245-
args.in_args[0].value = inargp;
246-
args.in_args[1].size = inargp->count * sizeof(*remove_one);
247-
args.in_args[1].value = remove_one;
243+
args.in_numargs = 3;
244+
fuse_set_zero_arg0(&args);
245+
args.in_args[1].size = sizeof(*inargp);
246+
args.in_args[1].value = inargp;
247+
args.in_args[2].size = inargp->count * sizeof(*remove_one);
248+
args.in_args[2].value = remove_one;
248249
return fuse_simple_request(fm, &args);
249250
}
250251

0 commit comments

Comments
 (0)