[sheepdog] [PATCH 0/3] sheep, dog: configurable vid space

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Mon Feb 2 10:31:05 CET 2015


At Mon, 02 Feb 2015 18:23:03 +0900,
Hitoshi Mitake wrote:
> 
> At Mon,  2 Feb 2015 14:58:18 +0900,
> Takafumi Fujieda wrote:
> > 
> > Current, deleted vids are not reused, without cutting relations.
> > If snapshots of many online vdis in a cluster are created continuously,
> > the vid space will be exhausted.
> 
> To be honest, it is hard for me to understand the motivation of
> expanding VID space. As you pointed, cutting relation between VDIs
> enables fine grained VID GC. Is this not enough?

I forgot to say that cutting relation for online VDIs is possible now:
$ dog vdi snapshot --no-share <VDI name>
cuts relation between existing VDI (which will be snapshot) and newly
created working VDI (whose name is <VDI name>).

Thanks,
Hitoshi


> 
> Thanks,
> Hitoshi
> 
> > 
> > These patches make vid space size configurable from 24 bits to 26 bits
> > by using the reserved bits in the oid.
> > A new option "-s <bits>" is added to dog cluster format for specify the vid space size.
> > (The default vid space size is 24 bits)
> > 
> > These patches don't care compatibility of object files and cluster snapshot data
> > created under different vid spaces.
> > If you want to change your cluster's vid space keeping existing vdis,
> > the cluster must be shutdowned and all vdis should be outputted
> > by using qemu-img and "dog vdi backup".
> > 
> > Takafumi Fujieda (3):
> >   sheep, dog: add vid space variables to the structs
> >   sheep, dog: make vid space size variable
> >   dog: add a new option to specify the vid space
> > 
> >  dog/cluster.c             |   67 +++++++++++++++++++++++++++++++++++++++-----
> >  dog/common.c              |   32 +++++++++++++++++-----
> >  dog/dog.h                 |    3 +-
> >  dog/farm/farm.c           |   16 ++++++++++-
> >  dog/farm/farm.h           |    3 +-
> >  dog/node.c                |    3 +-
> >  dog/vdi.c                 |   22 ++++++++++-----
> >  include/internal_proto.h  |    6 +++-
> >  include/sheepdog_proto.h  |   18 +++++++-----
> >  sheep/config.c            |   20 ++++++++++++-
> >  sheep/gateway.c           |   23 +++++++++-------
> >  sheep/group.c             |   10 +++++-
> >  sheep/journal.c           |    3 +-
> >  sheep/nfs/fs.c            |    4 +-
> >  sheep/nfs/nfs.c           |    4 +-
> >  sheep/object_cache.c      |   13 +++++----
> >  sheep/object_list_cache.c |    2 +-
> >  sheep/ops.c               |   35 +++++++++++++++++++-----
> >  sheep/plain_store.c       |   25 ++++++++++-------
> >  sheep/recovery.c          |   10 ++++---
> >  sheep/request.c           |    3 +-
> >  sheep/sheep_priv.h        |    6 +++-
> >  sheep/vdi.c               |   43 +++++++++++++++++-----------
> >  sheepfs/volume.c          |    2 +-
> >  24 files changed, 269 insertions(+), 104 deletions(-)
> > 
> > -- 
> > sheepdog mailing list
> > sheepdog at lists.wpkg.org
> > https://lists.wpkg.org/mailman/listinfo/sheepdog



More information about the sheepdog mailing list