diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index a7be13b5d6ef..85ed1abb9235 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -591,7 +591,9 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args) req->out.numargs = args->out_numargs; memcpy(req->out.args, args->out_args, args->out_numargs * sizeof(struct fuse_arg)); - fuse_request_send(fc, req); + if (!args->noreply) + __set_bit(FR_ISREPLY, &req->flags); + __fuse_request_send(fc, req); ret = req->out.h.error; if (!ret && args->out_argvar) { BUG_ON(args->out_numargs != 1); diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index 24269f470c0e..ed6538e01feb 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -292,6 +292,7 @@ struct fuse_args { unsigned short in_numargs; unsigned short out_numargs; bool force:1; + bool noreply:1; bool out_argvar:1; struct fuse_in_arg in_args[3]; struct fuse_arg out_args[2];