From: levin li <[email protected]>

When collie tries to read directly from peer which maybe a gateway-only
node, whose store driver is uninitialized, sd_store->read() may causes
sheep crash, so in peer_read_obj() we directly return SD_RES_NO_OBJ if
the node is a gateway-only node

Signed-off-by: levin li <[email protected]>
---
 sheep/ops.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/sheep/ops.c b/sheep/ops.c
index 0b21f02..cb39956 100644
--- a/sheep/ops.c
+++ b/sheep/ops.c
@@ -733,6 +733,9 @@ int peer_read_obj(struct request *req)
        uint32_t epoch = hdr->epoch;
        struct siocb iocb;
 
+       if (sys->gateway_only)
+               return SD_RES_NO_OBJ;
+
        memset(&iocb, 0, sizeof(iocb));
        iocb.epoch = epoch;
        iocb.flags = hdr->flags;
-- 
1.7.1

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to