[Virtio-fs] [PATCH 1/2] vitriofsd/passthrough_ll: Make fallocate() work

Xiao Yang yangx.jy at cn.fujitsu.com
Mon Jan 13 09:37:34 UTC 2020


1) Use correct CONFIG_FALLOCATE macro to check if fallocate() is supported.(i.e configure
   script sets CONFIG_FALLOCATE intead of HAVE_FALLOCATE if fallocate() is supported)
2) Avoid 'Bad file descriptor' error by passing correct fd to fallocate().

Signed-off-by: Xiao Yang <yangx.jy at cn.fujitsu.com>
---
 tools/virtiofsd/passthrough_ll.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 42a3e182f9..a19823caaf 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -2313,8 +2313,8 @@ static void lo_fallocate(fuse_req_t req, fuse_ino_t ino, int mode, off_t offset,
     struct lo_data *lo = lo_data(req);
     (void)ino;
 
-#ifdef HAVE_FALLOCATE
-    err = fallocate(fi->fh, mode, offset, length);
+#ifdef CONFIG_FALLOCATE
+    err = fallocate(lo_fi_fd(req, fi), mode, offset, length);
     if (err < 0) {
         err = errno;
     }
-- 
2.21.0







More information about the Virtio-fs mailing list