summaryrefslogtreecommitdiff
path: root/fs/fuse/dev.c
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2019-09-10 15:04:09 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2019-09-10 16:29:49 +0200
commit093f38a2c1a81405f261ef1ac681a9003b061db5 (patch)
tree47cd4a1b034bb4f63c9060392d7adc37a2556034 /fs/fuse/dev.c
parent4c4f03f78ca9ce41a158710b87ad7e6d363e881a (diff)
fuse: convert ioctl to simple api
fuse_simple_request() is converted to return length of last (instead of single) out arg, since FUSE_IOCTL_OUT has two out args, the second of which is variable length. Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse/dev.c')
-rw-r--r--fs/fuse/dev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 0a6624aeced9..29723e143666 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -590,8 +590,8 @@ ssize_t fuse_simple_request(struct fuse_conn *fc, struct fuse_args *args)
__fuse_request_send(fc, req);
ret = req->out.h.error;
if (!ret && args->out_argvar) {
- BUG_ON(args->out_numargs != 1);
- ret = req->out.args[0].size;
+ BUG_ON(args->out_numargs == 0);
+ ret = req->out.args[args->out_numargs - 1].size;
}
fuse_put_request(fc, req);