[sheepdog] [PATCH] sheep: fix confused comments of vdi_snapshot()
Yu Yang
justyuyang at foxmail.com
Thu May 7 15:13:31 CEST 2015
Thanks, and I find the reason.
When I type 'dog vdi list' I got the following info ,
$dog vdi list
Name Id Size Used Shared Creation time VDI id Copies Tag
Block Size Shift
v1 0 10 MB 4.0 MB 0.0 MB 2015-05-07 16:45 709128 3
22
s v2 1 20 MB 4.0 MB 0.0 MB 2015-05-07 19:11 709641 3
22
v2 0 20 MB 0.0 MB 4.0 MB 2015-05-07 19:14 709642 3
22
the second column Id of the v1 and v2 (line3) is 0,
in fact the Id of v1 is 1, and the 3rd line Id is 2(I got it from your
suggestion cmd 'dog vdi object dump-inode <inode object path>' ),
the reason is the statement in function int parse_vdi() of common.c (Line
223):
snapid = vdi_is_snapshot(i) ? i->snap_id : 0;
so I can see the Id is 0 for the working VDI.
Still confused thing.
> -----Original Message-----
> From: Hitoshi Mitake [mailto:mitake.hitoshi at gmail.com] On Behalf Of Hitoshi
> Mitake
> Sent: Monday, April 27, 2015 10:07 AM
> To: Yu Yang
> Cc: 'Hitoshi Mitake'; sheepdog at lists.wpkg.org
> Subject: Re: [sheepdog] [PATCH] sheep: fix confused comments of
> vdi_snapshot()
>
> At Thu, 23 Apr 2015 19:15:00 +0800,
> Yu Yang wrote:
> >
> >
> >
> > > -----Original Message-----
> > > From: Hitoshi Mitake [mailto:mitake.hitoshi at gmail.com] On Behalf Of
Hitoshi
> > > Mitake
> > > Sent: Thursday, April 23, 2015 5:28 PM
> > > To: Yu Yang
> > > Cc: sheepdog at lists.wpkg.org
> > > Subject: Re: [sheepdog] [PATCH] sheep: fix confused comments of
> > > vdi_snapshot()
> > >
> > > At Thu, 23 Apr 2015 16:03:49 +0800,
> > > Yu Yang wrote:
> > > >
> > > > From: Yu Yang <yuyang at cmss.chinamobile.com>
> > > >
> > > > fix the confused comments between snapid and vid for vdi_snapshot().
> > > >
> > > > Signed-off-by: Yu Yang <yuyang at cmss.chinamobile.com>
> > > > ---
> > > > sheep/vdi.c | 4 ++--
> > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/sheep/vdi.c b/sheep/vdi.c
> > > > index 63e578d..b35a763 100644
> > > > --- a/sheep/vdi.c
> > > > +++ b/sheep/vdi.c
> > > > @@ -1572,8 +1572,8 @@ int vdi_create(const struct vdi_iocb *iocb,
uint32_t
> > > *new_vid)
> > > > * 2. rollback create (base_vid != current_vid)
> > > > *
> > > > * This function expects SUCCESS returned from vdi_lookup(). Both
> rollback
> > > and
> > > > - * snap create started with current working VDI's snap_id + 1. Working
VDI
> > > > - * always has the highest snapid.
> > > > + * snap creation starts with current working VDI's vid + 1. Working VDI
> > > > + * always has the highest vid and its snapid is 0.
> > >
> > > Sorry, I missed to point a possibility of vid overflow. Working VDI
doesn't
> > > have the highest VID always.
> > >
> > > And the snapid of working VDI is always highest. It is simply incremented.
> > >
> > > Could you fix them?
> > >
> > > Thanks,
> > > Hitoshi
> > >
> >
> > I know when vid is overflow it's not the highest,
> > but you said the snapid of working VDI is always the highest ?
> > I find it is always ZERO, or I misunderstand of working VDI which can be
> > read/write ?
>
> You can check the snapid field with
> $ dog vdi object dump-inode <inode object path>
>
> It will show that working VDIs have largest snapid (working VDIs have
> higher VIDs).
>
> # anyway, the field doesn't seem to be used currently
>
> Thanks,
> Hitoshi
>
> >
> > Thanks
> > Yang
> >
> > > > */
> > > > int vdi_snapshot(const struct vdi_iocb *iocb, uint32_t *new_vid)
> > > > {
> > > > --
> > > > 1.7.9.5
> > > >
> > > >
> > > > --
> > > > sheepdog mailing list
> > > > sheepdog at lists.wpkg.org
> > > > https://lists.wpkg.org/mailman/listinfo/sheepdog
> >
> >
> >
> > --
> > sheepdog mailing list
> > sheepdog at lists.wpkg.org
> > https://lists.wpkg.org/mailman/listinfo/sheepdog
More information about the sheepdog
mailing list