On Thu, 01 Apr 2010 21:14:30 +0200 Kevin Wolf <kw...@redhat.com> wrote:
> Am 01.04.2010 20:22, schrieb Luiz Capitulino: > > On Thu, 1 Apr 2010 15:15:51 -0300 > > Luiz Capitulino <lcapitul...@redhat.com> wrote: > > > >> On Thu, 25 Mar 2010 09:32:58 -0500 > >> Ryan Harper <ry...@us.ibm.com> wrote: > >> > >>> Currently when using the change command to switch the file in the cd drive > >>> the command doesn't complain if the file doesn't exit or can't be opened > >>> and the drive keeps the existing image. This patch adds a qerror_report > >>> call to print a message out indicating the failure. This error message > >>> can be used to catch failures. > >> > >> Looks good to me, but it doesn't keep the existing image, it will silently > >> eject it instead. > > > > And, thinking more about it this seems the wrong behavior to me, if it > > fails to open the file, it should not touch the current one. > > > > Am I right, Kevin? > > Well, it's a monitor command. I guess its meaning has never been clearly > defined, so I tend to say there is no right or wrong. From a user > perspective, intuitively I would expect that it succeeds completely or > maintains the old state, so yes. Yes and I'd expect the same from a QMP perspective. > However, I don't think it's fixable that easy. You obviously need to > close the image before you can open it. And reopening the image in case > of failure - well, we just had this discussion and I'm sure Juan wants > to comment on it... > > It's a case that we should consider if/when we reorganize bdrv_open. The > "bdrv_close, but without closing the fd" thing doesn't work out here > because we need to reuse the same bs. Or maybe open a different bs first > and then copy things over. Could actually work this way. Yeah, I looked there and realized it wasn't easy but this solution looks good.