[sheepdog] [PATCH v8 00/19] object reclaim based on generational reference counting

Liu Yuan namei.unix at gmail.com
Fri May 23 07:03:59 CEST 2014


On Thu, May 22, 2014 at 11:29:59PM +0900, Hitoshi Mitake wrote:
> At Thu, 22 May 2014 16:54:32 +0800,
> Liu Yuan wrote:
> > 
> > On Fri, May 16, 2014 at 12:22:27AM +0900, Hitoshi Mitake wrote:
> > > The object reclaim doesn't support hypervolume yet. But hypervolume cannot be
> > > used as a virtual disk (both of qemu and tgt don't support it) currently. And
> > > the removal of old vdi deletion is acceptable for hypervolume because it doesn't
> > > support snapshot, etc. So I think this patchset can be applied to the master
> > > branch.
> > > 
> > > The same code is pushed to:
> > > https://github.com/sheepdog/sheepdog/tree/snapshot-object-reclaim
> > > 
> > > There is a problem which can be caused by discard operation. But the
> > > problem can be solved as an individual topic. I'll post a patchset for
> > > it later.
> > > 
> > > The leak problem was (also) caused by bugs in QEMU's sheepdog
> > > driver. The fixed version of QEMU driver is here:
> > >  https://github.com/sheepdog/qemu/tree/inode-sync
> > > I'll post it to the QEMU list later.
> > > 
> > > v8:
> > >  - let COW and snapshot be excluded mutually
> > >  -- This change introduces limitation that "dog vdi snapshot" must be
> > >     executed on a same node which execute QEMU. But it is temporal and
> > >     removed easily.
> > 
> > What happens if I run 'dog vdi snapsht' on node B while VM runs on node A?
> 
> Snapshot is created but gref of the snapshot can be inconsistent
> (depends on timing). But it can be removed easily by reviving VDI lock
> operation.

Is it possible to exclude this negative effect from this patch set? VDI lock
operation isn't easy to implement, at least in the near future.

So this open a hole that casual user might destroy the conconsistcy of vdi
without notice, right? Suppose someone run 'dog vdi snapshot' on different node
as before, he wouldn't expect side effect.

Even we can't git rid of this limilation in this patchset, we should warn people
who try to do it programatically.

Thanks
Yuan



More information about the sheepdog mailing list