mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
util: introduce virStorageSourceInitiator functions
The same code would be used for storage pools and domain disks. Reviewed-by: Ján Tomko <jtomko@redhat.com> Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
1576c12628
commit
5c0324abe2
@ -2856,6 +2856,10 @@ virStorageSourceGetActualType;
|
|||||||
virStorageSourceGetSecurityLabelDef;
|
virStorageSourceGetSecurityLabelDef;
|
||||||
virStorageSourceHasBacking;
|
virStorageSourceHasBacking;
|
||||||
virStorageSourceInitChainElement;
|
virStorageSourceInitChainElement;
|
||||||
|
virStorageSourceInitiatorClear;
|
||||||
|
virStorageSourceInitiatorCopy;
|
||||||
|
virStorageSourceInitiatorFormatXML;
|
||||||
|
virStorageSourceInitiatorParseXML;
|
||||||
virStorageSourceIsBacking;
|
virStorageSourceIsBacking;
|
||||||
virStorageSourceIsBlockLocal;
|
virStorageSourceIsBlockLocal;
|
||||||
virStorageSourceIsEmpty;
|
virStorageSourceIsEmpty;
|
||||||
|
@ -4314,6 +4314,40 @@ virStorageSourcePrivateDataFormatRelPath(virStorageSourcePtr src,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorParseXML(xmlXPathContextPtr ctxt,
|
||||||
|
virStorageSourceInitiatorDefPtr initiator)
|
||||||
|
{
|
||||||
|
initiator->iqn = virXPathString("string(./initiator/iqn/@name)", ctxt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorFormatXML(virStorageSourceInitiatorDefPtr initiator,
|
||||||
|
virBufferPtr buf)
|
||||||
|
{
|
||||||
|
if (!initiator->iqn)
|
||||||
|
return;
|
||||||
|
|
||||||
|
virBufferAddLit(buf, "<initiator>\n");
|
||||||
|
virBufferAdjustIndent(buf, 2);
|
||||||
|
virBufferEscapeString(buf, "<iqn name='%s'/>\n", initiator->iqn);
|
||||||
|
virBufferAdjustIndent(buf, -2);
|
||||||
|
virBufferAddLit(buf, "</initiator>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
virStorageSourceInitiatorCopy(virStorageSourceInitiatorDefPtr dest,
|
||||||
|
const virStorageSourceInitiatorDef *src)
|
||||||
|
{
|
||||||
|
return VIR_STRDUP(dest->iqn, src->iqn);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorClear(virStorageSourceInitiatorDefPtr initiator)
|
||||||
|
{
|
||||||
|
VIR_FREE(initiator->iqn);
|
||||||
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
virStorageFileIsInitialized(const virStorageSource *src)
|
virStorageFileIsInitialized(const virStorageSource *src)
|
||||||
{
|
{
|
||||||
|
@ -492,6 +492,21 @@ int
|
|||||||
virStorageSourcePrivateDataFormatRelPath(virStorageSourcePtr src,
|
virStorageSourcePrivateDataFormatRelPath(virStorageSourcePtr src,
|
||||||
virBufferPtr buf);
|
virBufferPtr buf);
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorParseXML(xmlXPathContextPtr ctxt,
|
||||||
|
virStorageSourceInitiatorDefPtr initiator);
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorFormatXML(virStorageSourceInitiatorDefPtr initiator,
|
||||||
|
virBufferPtr buf);
|
||||||
|
|
||||||
|
int
|
||||||
|
virStorageSourceInitiatorCopy(virStorageSourceInitiatorDefPtr dest,
|
||||||
|
const virStorageSourceInitiatorDef *src);
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceInitiatorClear(virStorageSourceInitiatorDefPtr initiator);
|
||||||
|
|
||||||
int virStorageFileInit(virStorageSourcePtr src);
|
int virStorageFileInit(virStorageSourcePtr src);
|
||||||
int virStorageFileInitAs(virStorageSourcePtr src,
|
int virStorageFileInitAs(virStorageSourcePtr src,
|
||||||
uid_t uid, gid_t gid);
|
uid_t uid, gid_t gid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user