[Virtio-fs] [PATCH 1/7] virtiofsd: Check for EINTR in preadv() and retry

Vivek Goyal vgoyal at redhat.com
Tue May 11 21:37:30 UTC 2021


We don't seem to check for EINTR and retry. There are other places
in code where we check for EINTR. So lets add a check.

Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
---
 tools/virtiofsd/fuse_virtio.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c
index 1170f375a5..32914f7e95 100644
--- a/tools/virtiofsd/fuse_virtio.c
+++ b/tools/virtiofsd/fuse_virtio.c
@@ -421,6 +421,9 @@ int virtio_send_data_iov(struct fuse_session *se, struct fuse_chan *ch,
 
         if (ret == -1) {
             ret = errno;
+            if (ret == EINTR) {
+                continue;
+            }
             fuse_log(FUSE_LOG_DEBUG, "%s: preadv failed (%m) len=%zd\n",
                      __func__, len);
             goto err;
-- 
2.25.4




More information about the Virtio-fs mailing list