On 05/28/2013 11:54 AM, MORITA Kazutaka wrote: > At Tue, 28 May 2013 11:39:37 +0800, > Liu Yuan wrote: >> >> On 05/28/2013 11:36 AM, MORITA Kazutaka wrote: >>> What we need is making sure that the gateway has vdi copy list before >>> processing I/O requests. Calling wait_get_vdis_done() in the recovery >>> thread doesn't help it, so the gateway doesn't have to call >>> prepare_object_list() at all. >> >> Yeah, so where should call wait_get_vdis_done()? fixing >> wait_get_vdis_done with removing prepare list from gateway only node in >> a single patch looks conflicted to the patch separation policy. > > I think the current code doesn't guarantee that the gateway has vdi > copy list before processing I/O requests, either. Is it correct? > > If yes, we need two fixes: > > - The gateway must notify recovery completion. > - The gateway must have vdi copy list before processing I/Os. > > To fix the first one, the gateway doesn't need to gather object list. > This is what I meant. > Ah, I see. But get_vdis() should be quit fast and more importantly users will get a 'no vdi found' error to run vdis before get_vdis() done, then users can try again until success. So second issue doesn't look a problem to me. Thanks, Yuan |