qemu-nbd: set timeout to qemu-nbd socket
In case of insufficient memory and kill-9, the NBD socket cannot be processed and stuck all the time. Signed-off-by: wangjian161 <wangjian161@huawei.com>
This commit is contained in:
parent
ec87f83a2e
commit
5f9b6047bd
42
qemu-nbd-set-timeout-to-qemu-nbd-socket.patch
Normal file
42
qemu-nbd-set-timeout-to-qemu-nbd-socket.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From f665f7836a019cc8bb8d46d076508afc761923f0 Mon Sep 17 00:00:00 2001
|
||||
From: WangJian <wangjian161@huawei.com>
|
||||
Date: Wed, 9 Feb 2022 10:55:08 +0800
|
||||
Subject: [PATCH] qemu-nbd: set timeout to qemu-nbd socket
|
||||
|
||||
In case of insufficient memory and kill-9,
|
||||
the NBD socket cannot be processed and stuck all the time.
|
||||
|
||||
Signed-off-by: wangjian161 <wangjian161@huawei.com>
|
||||
---
|
||||
nbd/client.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/nbd/client.c b/nbd/client.c
|
||||
index 30d5383cb1..8ed50140f2 100644
|
||||
--- a/nbd/client.c
|
||||
+++ b/nbd/client.c
|
||||
@@ -24,6 +24,8 @@
|
||||
#include "nbd-internal.h"
|
||||
#include "qemu/cutils.h"
|
||||
|
||||
+#define NBD_TIMEOUT_SECONDS 30
|
||||
+
|
||||
/* Definitions for opaque data types */
|
||||
|
||||
static QTAILQ_HEAD(, NBDExport) exports = QTAILQ_HEAD_INITIALIZER(exports);
|
||||
@@ -1301,6 +1303,12 @@ int nbd_init(int fd, QIOChannelSocket *sioc, NBDExportInfo *info,
|
||||
}
|
||||
}
|
||||
|
||||
+ if (ioctl(fd, NBD_SET_TIMEOUT, NBD_TIMEOUT_SECONDS) < 0) {
|
||||
+ int serrno = errno;
|
||||
+ error_setg(errp, "Failed setting timeout");
|
||||
+ return -serrno;
|
||||
+ }
|
||||
+
|
||||
trace_nbd_init_finish();
|
||||
|
||||
return 0;
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user