On Sun, 2011-07-10 at 00:36 -0400, alice wan wrote:
> Hi konrad,
>
> I found the mainline linux 3.0-rc6 xen-blkfront driver doesn't implement
> suspend func. In my opinion, the blkfront should wait till responses of all
> the pending requests come back, then domu can be suspended, otherwise, after
> the migration, vm of target host will request from target host, meanwhile,
> the blkback of source host maybe do the pending requests until they's done.
It's not done that way because the suspension alone is rather
transparent to the guest. There's normally not a problem with that. As
long as I/O completed on the source host before resuming the new machine
image (which will reissue the requests not observed complete).
This is a relatively safe procedure as long as the toolstack makes sure
the backend shut down before handing over.
> if migrate the vm with high io pressure, the requests of this vm may
> disorder.
>
> And i saw the gpl windows pv driver, blkfront will change its state and wait
> for blkback closing, after blkback closing, the pending requests definitely
> are done.
Huh? I don't know much about the GPL PV drivers. I do believe however
shouldn't be able observe blkback transitioning to Closing. The guest
should have been halted and destroyed before that even happens.
> More, i did some test with migration, while vm was running dd task, xm
> migrate -l . before it suspend, gdb tapdisk2. after migration, new vm
> started. then quit gdb, the pending request were written back to disk after
> new requests.
>
> above mentioned is just my opinion, i need your advice and confirmation or
> deny
>
> any help is appreciated.
Woah. Could someone with xm know how confirm or deny that? The former
will break disk images.
It's quite fundamental that blkback was completely shut down (rm
backend/vbd doesn't count, it state hit Closed, i.e. xenblkd gone and
bdev release()d) before resuming.
Daniel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|