Signed-off-by: Chris Webb <chris at arachsys.com> --- Oops, previous patch was incorrectly edited and wouldn't apply! Fixed properly this time. sheep/simple_store.c | 10 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sheep/simple_store.c b/sheep/simple_store.c index 424589f..3f2c241 100644 --- a/sheep/simple_store.c +++ b/sheep/simple_store.c @@ -76,17 +76,20 @@ static int simple_store_open(uint64_t oid, struct siocb *iocb, int create) ret = open(path.buf, flags, def_fmode); if (ret < 0) { - eprintf("failed to open %s: %m\n", path.buf); if (errno == ENOENT) { struct stat s; - ret = SD_RES_NO_OBJ; if (stat(obj_path, &s) < 0) { /* store directory is corrupted */ - eprintf("corrupted\n"); + eprintf("store directory corrupted: %m\n"); ret = SD_RES_EIO; + } else { + dprintf("object %08u/%016" PRIx64 " not found locally\n", iocb->epoch, oid); + ret = SD_RES_NO_OBJ; } - } else + } else { + eprintf("failed to open %s: %m\n", path.buf); ret = SD_RES_UNKNOWN; + } goto out; } -- 1.7.5.4 |