diff options
author | Vivek Goyal | 2021-05-18 23:35:32 +0200 |
---|---|---|
committer | Dr. David Alan Gilbert | 2021-05-26 19:39:32 +0200 |
commit | 04c9f7e04ae102edf384613df98268d59ff8fb9b (patch) | |
tree | a4538d271310e19c912403b1188a85ef35a607d4 /tools | |
parent | hmp: Fix loadvm to resume the VM on success instead of failure (diff) | |
download | qemu-04c9f7e04ae102edf384613df98268d59ff8fb9b.tar.gz qemu-04c9f7e04ae102edf384613df98268d59ff8fb9b.tar.xz qemu-04c9f7e04ae102edf384613df98268d59ff8fb9b.zip |
virtiofsd: Check for EINTR in preadv() and retry
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.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Connor Kuehl <ckuehl@redhat.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Message-Id: <20210518213538.693422-2-vgoyal@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/virtiofsd/fuse_virtio.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/virtiofsd/fuse_virtio.c b/tools/virtiofsd/fuse_virtio.c index 9efdbd8ffd..755d7fb25c 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; |