On 12/16/2011 08:11 PM, Chris Webb wrote:

> Perhaps something like this would fit the bill?
> 


Acked-by: Liu Yuan <[email protected]>

> -- >8 --
> Subject: [PATCH] Don't report an error for blocks not stored locally
>     
> Signed-off-by: Chris Webb <[email protected]>
> ---
>  sheep/simple_store.c |    8 +++++---
>  1 files changed, 5 insertions(+), 3 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,19 @@ 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
> +                     eprintf("failed to open %s: %m\n", path.buf);
>                       ret = SD_RES_UNKNOWN;
>               goto out;
>       }


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

Reply via email to