[Virtio-fs] [PATCH][virtio-fs-dev] virtiofsd: Fix fuse_reply_create() to determine correct length of buffer

Vivek Goyal vgoyal at redhat.com
Wed Jul 3 20:32:34 UTC 2019


Hi Dave,

Following patch needs to be applied on virtio-fs-dev branch to make it
work with latest kernel. Otherwise file creation reply returns error.

Thanks
Vivek

Put conditional express in brackets. Otherwise expression being evaluated
becomes (entrysize + sizeof(struct fuse_open_out) + shared) instead and
which obviously results in wrong size calculation.

Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
---
 contrib/virtiofsd/fuse_lowlevel.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: qemu/contrib/virtiofsd/fuse_lowlevel.c
===================================================================
--- qemu.orig/contrib/virtiofsd/fuse_lowlevel.c	2019-07-01 13:22:55.489623969 -0400
+++ qemu/contrib/virtiofsd/fuse_lowlevel.c	2019-07-01 13:23:56.338143585 -0400
@@ -413,7 +413,7 @@ int fuse_reply_create(fuse_req_t req, co
 	ever->version_index = e->version_offset;
 	return send_reply_ok(req, buf,
 			     entrysize + sizeof(struct fuse_open_out) +
-                             shared ? sizeof(struct fuse_entryver_out) : 0);
+                             (shared ? sizeof(struct fuse_entryver_out) : 0));
 }
 
 int fuse_reply_attr(fuse_req_t req, const struct stat *attr,




More information about the Virtio-fs mailing list