On 06/10/2012 09:55 PM, Liu Yuan wrote: > From: Liu Yuan <tailai.ly at taobao.com> > > > Signed-off-by: Liu Yuan <tailai.ly at taobao.com> > --- > sheep/object_cache.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/sheep/object_cache.c b/sheep/object_cache.c > index e100634..df3db1d 100644 > --- a/sheep/object_cache.c > +++ b/sheep/object_cache.c > @@ -86,17 +86,17 @@ static uint64_t calc_object_bmap(size_t len, off_t offset) > uint64_t bmap = 0; > > start = offset / CACHE_BLOCK_SIZE; > - end = (offset + len - 1) / CACHE_BLOCK_SIZE; > + end = DIV_ROUND_UP(len + offset, CACHE_BLOCK_SIZE); > + nr = end - start; > > - nr = end - start + 1; > while (nr--) > set_bit(start + nr, &bmap); > > return bmap; > } > > -static struct object_cache_entry *dirty_tree_insert(struct rb_root *root, > - struct object_cache_entry *new) > +static struct object_cache_entry * > +dirty_tree_insert(struct rb_root *root, struct object_cache_entry *new) > { > struct rb_node **p = &root->rb_node; > struct rb_node *parent = NULL; > @@ -573,7 +573,7 @@ static int push_cache_object(struct vnode_info *vnode_info, uint32_t vid, > hdr->epoch = sys_epoch(); > > hdr->obj.oid = oid; > - hdr->obj.offset = 0; > + hdr->obj.offset = offset; > hdr->obj.copies = sys->nr_copies; > > fake_req.data = buf; > Applied. Thanks, Yuan |