fuse: disable the combination of passthrough and writeback cache
commit3ab394b363upstream. Current design and handling of passthrough is without fuse caching and with that FUSE_WRITEBACK_CACHE is conflicting. Fixes:7dc4e97a4f("fuse: introduce FUSE_PASSTHROUGH capability") Cc: stable@kernel.org # v6.9 Signed-off-by: Bernd Schubert <bschubert@ddn.com> Acked-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7a0b9c73ec
commit
58020fe883
+6
-1
@@ -1336,11 +1336,16 @@ static void process_init_reply(struct fuse_mount *fm, struct fuse_args *args,
|
||||
* on a stacked fs (e.g. overlayfs) themselves and with
|
||||
* max_stack_depth == 1, FUSE fs can be stacked as the
|
||||
* underlying fs of a stacked fs (e.g. overlayfs).
|
||||
*
|
||||
* Also don't allow the combination of FUSE_PASSTHROUGH
|
||||
* and FUSE_WRITEBACK_CACHE, current design doesn't handle
|
||||
* them together.
|
||||
*/
|
||||
if (IS_ENABLED(CONFIG_FUSE_PASSTHROUGH) &&
|
||||
(flags & FUSE_PASSTHROUGH) &&
|
||||
arg->max_stack_depth > 0 &&
|
||||
arg->max_stack_depth <= FILESYSTEM_MAX_STACK_DEPTH) {
|
||||
arg->max_stack_depth <= FILESYSTEM_MAX_STACK_DEPTH &&
|
||||
!(flags & FUSE_WRITEBACK_CACHE)) {
|
||||
fc->passthrough = 1;
|
||||
fc->max_stack_depth = arg->max_stack_depth;
|
||||
fm->sb->s_stack_depth = arg->max_stack_depth;
|
||||
|
||||
Reference in New Issue
Block a user