Currently store_queue_request_local returns success when an open fails,
change this to SD_RES_EIO to indicate failure.  It might make sense to
make the failure more specific, but this at least fixes the bug for now.

Signed-off-by: Christoph Hellwig <[email protected]>

Index: sheepdog/sheep/store.c
===================================================================
--- sheepdog.orig/sheep/store.c 2011-11-10 18:56:50.532796327 +0100
+++ sheepdog/sheep/store.c      2011-11-10 18:57:46.735797654 +0100
@@ -597,8 +597,10 @@ static int store_queue_request_local(str
                else
                        fd = ob_open(epoch, oid, 0, &ret);
 
-               if (fd < 0)
+               if (fd < 0) {
+                       ret = SD_RES_EIO;
                        goto out;
+               }
 
                if (opcode != SD_OP_CREATE_AND_WRITE_OBJ)
                        break;

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

Reply via email to