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. 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. Kevin