summaryrefslogtreecommitdiff
path: root/package/nbd/nbd-server-fix-read-eagain.patch
blob: b1f966c770ed7b0cfcd3090c174f8788c258a7ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- nbd-2.9.11.orig/nbd-server.c
+++ nbd-2.9.11/nbd-server.c
@@ -304,10 +304,14 @@
 	ssize_t res;
 	while (len > 0) {
 		DEBUG("*");
-		if ((res = read(f, buf, len)) <= 0)
-			err("Read failed: %m");
-		len -= res;
-		buf += res;
+		if ((res = read(f, buf, len)) <= 0) {
+			if(errno != EAGAIN) {
+				err("Read failed: %m");
+			}
+		} else {
+			len -= res;
+			buf += res;
+		}
 	}
 }