On Fri, Feb 15, 2008 at 10:10:24AM -0500, Daniel Veillard wrote:
On Tue, Feb 12, 2008 at 04:33:03AM +0000, Daniel P. Berrange wrote:
> This patch adds support for the storage APIs to the remote driver
> client end. As with the network driver, things are configured such
> that all virtualization drivers will end up delegating to the remote
> driver for storage APIs. There's not much interesting to say about
> this patch since it just follows pattern for the existing APis.
[...]
> + if (conn &&
> + conn->driver &&
> + strcmp (conn->driver->name, "remote") == 0) {
aren't we supposed to use some STREQU macros for lisibility ?
> + /* If we're here, the remote driver is already
> + * in use due to a) a QEMU uri, or b) a remote
> + * URI. So we can re-use existing connection
> + */
> + conn->storagePrivateData = conn->privateData;
> + return VIR_DRV_OPEN_SUCCESS;
> + } else if (conn->networkDriver &&
> + strcmp (conn->networkDriver->name, "remote") == 0)
{
same
> + conn->storagePrivateData = conn->networkPrivateData;
> + ((struct private_data *)conn->storagePrivateData)->localUses++;
> + return VIR_DRV_OPEN_SUCCESS;
> + } else {
> + /* Using a non-remote driver, so we need to open a
> + * new connection for network APIs, forcing it to
> + * use the UNIX transport. This handles Xen driver
> + * which doesn't have its own impl of the network APIs.
> + */
> + struct private_data *priv = malloc (sizeof(struct private_data));
> + int ret, rflags = 0;
> + if (!priv) {
> + error (NULL, VIR_ERR_NO_MEMORY, _("struct private_data"));
> + return VIR_DRV_OPEN_ERROR;
> + }
> + if (flags & VIR_CONNECT_RO)
> + rflags |= VIR_DRV_OPEN_REMOTE_RO;
> + rflags |= VIR_DRV_OPEN_REMOTE_UNIX;
> +
> + memset(priv, 0, sizeof(struct private_data));
hum, and use calloc to avoid malloc/memset ?
Yep, those are all copy+paste from the equivalent network APIs. I'll
fix these, and the originals at the same time.
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 -=|