<p dir="ltr"><br>
04 сент. 2015 г. 12:57 пользователь "Hitoshi Mitake" <<a href="mailto:mitake.hitoshi@gmail.com">mitake.hitoshi@gmail.com</a>> написал:<br>
><br>
> On Fri, Sep 4, 2015 at 5:51 PM, Hitoshi Mitake <<a href="mailto:mitake.hitoshi@gmail.com">mitake.hitoshi@gmail.com</a>> wrote:<br>
> > On Wed, Sep 2, 2015 at 9:36 PM, Vasiliy Tolstov <<a href="mailto:v.tolstov@selfip.ru">v.tolstov@selfip.ru</a>> wrote:<br>
> >> 2015-09-01 6:03 GMT+03:00 Hitoshi Mitake <<a href="mailto:mitake.hitoshi@lab.ntt.co.jp">mitake.hitoshi@lab.ntt.co.jp</a>>:<br>
> >>> This patch refines discard support of the sheepdog driver. The<br>
> >>> existing discard mechanism was implemented on SD_OP_DISCARD_OBJ, which<br>
> >>> was introduced before fine grained reference counting on newer<br>
> >>> sheepdog. It doesn't care about relations of snapshots and clones and<br>
> >>> discards objects unconditionally.<br>
> >>><br>
> >>> With this patch, the driver just updates an inode object for updating<br>
> >>> reference. Removing the object is done in sheep process side.<br>
> >>><br>
> >>> Cc: Teruaki Ishizaki <<a href="mailto:ishizaki.teruaki@lab.ntt.co.jp">ishizaki.teruaki@lab.ntt.co.jp</a>><br>
> >>> Cc: Vasiliy Tolstov <<a href="mailto:v.tolstov@selfip.ru">v.tolstov@selfip.ru</a>><br>
> >>> Cc: Jeff Cody <<a href="mailto:jcody@redhat.com">jcody@redhat.com</a>><br>
> >>> Signed-off-by: Hitoshi Mitake <<a href="mailto:mitake.hitoshi@lab.ntt.co.jp">mitake.hitoshi@lab.ntt.co.jp</a>><br>
> >><br>
> >><br>
> >> I'm test this patch and now discard working properly and no errors in<br>
> >> sheepdog log file.<br>
> >><br>
> >> Tested-by: Vasiliy Tolstov <<a href="mailto:v.tolstov@selfip.ru">v.tolstov@selfip.ru</a>><br>
> ><br>
> > On the second thought, this patch has a problem of handling snapshot.<br>
> > Please drop this one (1st patch is ok to apply).<br>
> ><br>
> > I'll solve the problem in sheepdog side.<br>
><br>
> On the third thought, this patch can work well ;) Please pick this patch, Jeff.<br>
><br>
> I considered about a case of interleaving of snapshotting and<br>
> discarding requests like below:<br>
> 1. user invokes dog vdi snapshot, a command for making current VDI<br>
> snapshot (updating inode objects)<br>
> 2. discard request from VM before the request of 1 completes<br>
> 3. discard completes<br>
> 4. request of 1 completes<br>
><br>
> In this case, some data_vdi_id of original inode can be overwritten<br>
> before completion of snapshotting. However, this behavior is valid<br>
> because dog vdi snapshot doesn't return ack to the user.<br>
></p>
<p dir="ltr">This is normal for snapshots, to get consistent data you need to cooperate with guest system to get freeze it fs before snapshot.<br>
Quemu-ga already have this via sending freeze to fs beforw and thaw after snapshot .</p>
<p dir="ltr">> Thanks,<br>
> Hitoshi<br>
><br>
> ><br>
> > Thanks,<br>
> > Hitoshi<br>
> ><br>
> >><br>
> >> --<br>
> >> Vasiliy Tolstov,<br>
> >> e-mail: <a href="mailto:v.tolstov@selfip.ru">v.tolstov@selfip.ru</a><br>
> >> --<br>
> >> sheepdog mailing list<br>
> >> <a href="mailto:sheepdog@lists.wpkg.org">sheepdog@lists.wpkg.org</a><br>
> >> <a href="https://lists.wpkg.org/mailman/listinfo/sheepdog">https://lists.wpkg.org/mailman/listinfo/sheepdog</a><br>
</p>