On Tue, Oct 16, 2007 at 03:42:50PM +0100, Richard W.M. Jones wrote:
The attached patch (for discussion only) adds a virDomainBlockPeek
call,
allowing callers to peek into the block devices of domains.
+/**
+ * virDomainBlockPeek:
+ * @dom: pointer to the domain object
+ * @path: path to the block device
+ * @offset: offset within block device
+ * @size: size to read
+ * @buffer: return buffer (must be at least size bytes)
+ *
+ * This function allows you to read the contents of a domain's
+ * disk device.
+ *
+ * Typical uses for this are to determine if the domain has
+ * written a Master Boot Record (indicating that the domain
+ * has completed installation), or to try to work out the state
+ * of the domain's filesystems.
IMHO, if we had storage management APIs this use case could be better
handled by simply having a piece of metadata associated with the volume.
eg, you could just run virVolumeDumpXML() and look for an element
<parttable type='mbr'/>
Lack of such an element would indicate it was not partitioned. It
could also return 'gpt' for the new fangled EFI bios partitioning
scheme, or whatever format BSD/Solaris/Sun uses. This would avoid
the ned for every application caller to repeat the magic for sniffing
partition table types.
Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|