qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] stacking the block layer
@ 2009-08-05  1:37 Alexander Graf
  2009-08-12 12:43 ` Kevin Wolf
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Graf @ 2009-08-05  1:37 UTC (permalink / raw)
  To: qemu-devel

Hi list,

I just implemented dzip (seekable gzip) support and stumbled across a  
major bummer in the block layer:

Formats can't be stacked.

So why do we have this restriction? From what I could tell, the  
current code would just run into an endless loop, because the probe  
function of the format we're trying to open triggers when trying to  
open the underlying file.

Now that is a valid problem, but can't we just match that when opening  
a file from say "qcow2" that we simply don't open backing files as  
"qcow2" as well?

That way we could have qcow2 in dzip served via HTTP. At the end of  
the day I also want to bring tar into the game, so we'd have qcow2  
(format) in tar (format) in dzip (format) on HTTP (protocol).

I'd like to hear your thoughts on that - are there any reasons not to  
go down this road?

Alex

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] stacking the block layer
  2009-08-05  1:37 [Qemu-devel] stacking the block layer Alexander Graf
@ 2009-08-12 12:43 ` Kevin Wolf
  0 siblings, 0 replies; 2+ messages in thread
From: Kevin Wolf @ 2009-08-12 12:43 UTC (permalink / raw)
  To: Alexander Graf; +Cc: qemu-devel

Alexander Graf schrieb:
> Hi list,
> 
> I just implemented dzip (seekable gzip) support and stumbled across a  
> major bummer in the block layer:
> 
> Formats can't be stacked.
> 
> So why do we have this restriction? From what I could tell, the  
> current code would just run into an endless loop, because the probe  
> function of the format we're trying to open triggers when trying to  
> open the underlying file.
> 
> Now that is a valid problem, but can't we just match that when opening  
> a file from say "qcow2" that we simply don't open backing files as  
> "qcow2" as well?
> 
> That way we could have qcow2 in dzip served via HTTP. At the end of  
> the day I also want to bring tar into the game, so we'd have qcow2  
> (format) in tar (format) in dzip (format) on HTTP (protocol).

No, this should actually be qcow2 (format) on tar (protocol) on dzip
(protocol) on http (protocol). I'm not sure though if you can specify
things like tar:dzip:http://... with the current block code but I don't
think you would run into the problem you described above with protocols.

Kevin

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-08-12 12:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-05  1:37 [Qemu-devel] stacking the block layer Alexander Graf
2009-08-12 12:43 ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).