The unified diff between revisions [60564a86..] and [20a47014..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "src/forward.c"
#  from [0cd445517e0ef996cf13bf0240590d59f635a1ac]
#    to [566ccf12a7adc53a62ba675a974f259f4e3b3b61]
#
============================================================
--- src/forward.c	0cd445517e0ef996cf13bf0240590d59f635a1ac
+++ src/forward.c	566ccf12a7adc53a62ba675a974f259f4e3b3b61
@@ -764,7 +764,7 @@ fwdCheckDeferRead(int fd, void *data)
 	 * is disk clients pending on a too large object being fetched and a
 	 * few other corner cases.
 	 */
-	if (mem->inmem_hi - mem->inmem_lo > SM_PAGE_SIZE + Config.Store.maxInMemObjSize + READ_AHEAD_GAP) {
+	if (fd > 0 && mem->inmem_hi - mem->inmem_lo > SM_PAGE_SIZE + Config.Store.maxInMemObjSize + READ_AHEAD_GAP) {
 	    EBIT_SET(e->flags, ENTRY_DEFER_READ);
 #if HAVE_EPOLL
 	    mem->serverfd=fd;
@@ -773,7 +773,7 @@ fwdCheckDeferRead(int fd, void *data)
 	    return 1;
 	}
     }
-    if (mem->inmem_hi - storeLowestMemReaderOffset(e) > READ_AHEAD_GAP) {
+    if (fd > 0 && mem->inmem_hi - storeLowestMemReaderOffset(e) > READ_AHEAD_GAP) {
 	EBIT_SET(e->flags, ENTRY_DEFER_READ);
 #if HAVE_EPOLL
 	mem->serverfd=fd;