From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M1dTn-0003ni-Fl for qemu-devel@nongnu.org; Wed, 06 May 2009 05:31:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M1dTi-0003il-Nh for qemu-devel@nongnu.org; Wed, 06 May 2009 05:31:54 -0400 Received: from [199.232.76.173] (port=49573 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M1dTi-0003iZ-GC for qemu-devel@nongnu.org; Wed, 06 May 2009 05:31:50 -0400 Received: from mx1.redhat.com ([66.187.233.31]:49419) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M1dTi-0000fm-5B for qemu-devel@nongnu.org; Wed, 06 May 2009 05:31:50 -0400 Date: Wed, 6 May 2009 10:31:43 +0100 From: "Daniel P. Berrange" Subject: Re: [Qemu-devel] [PATCH] Add HTTP protocol using curl v2 Message-ID: <20090506093143.GC23167@redhat.com> References: <1241571650-16212-1-git-send-email-alex@csgraf.de> <20090506082810.GB23167@redhat.com> <4A0154E9.7020705@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4A0154E9.7020705@redhat.com> Reply-To: "Daniel P. Berrange" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: alex@csgraf.de, nolan@sigbus.net, qemu-devel@nongnu.org On Wed, May 06, 2009 at 11:14:17AM +0200, Kevin Wolf wrote: > Daniel P. Berrange schrieb: > > On Wed, May 06, 2009 at 03:00:50AM +0200, alex@csgraf.de wrote: > >> From: Alexander Graf > >> > >> Currently Qemu can read from posix I/O and NBD. This patch adds a > >> third protocol to the game: HTTP. > >> > >> In certain situations it can be useful to access HTTP data directly, > >> for example if you want to try out an http provided OS image, but > >> don't know if you want to download it yet. > >> > >> Using this patch you can now try it on on the fly. Just use it like: > >> > >> qemu -cdrom http://host/path/my.iso > > > > I rather think there should be an explicit flag to allow use of http:// > > URLs in filenames at runtime, not just 'configure' time. There are many > > apps out there using QEMU which will be assuming QEMU treats all disk > > paths as local files, and thus not got explicit code to check whether > > a URI is passed. I could well see that some will consider it a security > > issue to allow QEMU to download off the net, but if they updated to > > a new QEMU with this patch, downloading would be allowed by default. > > If apps want to be sure that they are accessing a local file, they must > ensure not to have a colon in the file name. Otherwise this specifies a > protocol for the qemu block layer. Using paths with a colon in the file name is pretty critical if you wish to configure VMs with block devices using a stable path like those under /dev/disk/by-path/ - they pretty much all contain colons, and are the only good stable path for iSCSI or FibreChannel block devices. > Btw, we could use a way to escape colons in a file name. Using such > files isn't possible currently. > > > Perhaps only enable these remote URIs with the -drive parameter, when > > an explicit fmt=http option is set. But can this be layered into the > > other protocols, eg could the remote URI be in qcow, vmdk, etc formats, > > or are you assuming the remote uri is raw file ? > > It should work with all formats. This is why fmt=http is wrong. It's not > a format, but a protocol. Then I'd prefer we add a protocol=XXX option for magic protocols. This would be easier to use & clearer than requiring escaping of magic characters, eg -drive file=/some/path:with:colons,protocol=file -drive file=http://some/path,protocol=uri For compatability, we could make it such that if protocol=XXX was left out, it could try and "guess" it, in same way QEMU does if format=XXX is left out for content format. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|