At Thu, 17 Jan 2013 19:18:35 +0800, Liu Yuan wrote: > > From: Liu Yuan <tailai.ly at taobao.com> > > Currently we only support disk as backend storage less than 2T due to hardcoded > 4M list buffer. The underlying object list cache already return error code when > passed buffer is too small. Simply retry with larger buffer for this case will > allow us enjoy however big disk is and remove this limit. > > Signed-off-by: Liu Yuan <tailai.ly at taobao.com> > --- > UPDATE: fix compile error > > include/sheepdog_proto.h | 1 + > sheep/object_list_cache.c | 2 +- > sheep/recovery.c | 61 +++++++++++++++++++++++++++------------------ > 3 files changed, 39 insertions(+), 25 deletions(-) > > diff --git a/include/sheepdog_proto.h b/include/sheepdog_proto.h > index 865f451..5942c76 100644 > --- a/include/sheepdog_proto.h > +++ b/include/sheepdog_proto.h > @@ -74,6 +74,7 @@ > #define SD_RES_KILLED 0x24 /* Node is killed */ > #define SD_RES_OID_EXIST 0x25 /* Object ID exists already */ > #define SD_RES_AGAIN 0x26 /* Ask to try again */ > +#define SD_RES_BUFFER_SMALL 0x27 /* The buffer is too small */ Seems that we are unlikely to use this outside sheep. If so, define it in include/internal_proto.h. Thanks, Kazutaka |