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...@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




_______________________________________________
Virtio-fs mailing list
Virtio-fs@redhat.com
https://www.redhat.com/mailman/listinfo/virtio-fs

Reply via email to