virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
int fd = -1;
int ret = -1;
gid_t gid;
uid_t uid;
+ virCheckFlags(0, -1);
+
if ((fd = open(vol->target.path, O_RDWR)) < 0) {
virReportSystemError(errno,
_("cannot create path '%s'"),
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
int ret = -1;
char *create_tool;
bool do_encryption = (vol->target.encryption != NULL);
unsigned long long int size_arg;
+ virCheckFlags(0, -1);
+
const char *type = virStorageFileFormatTypeToString(vol->target.format);
const char *backingType = vol->backingStore.path ?
virStorageFileFormatTypeToString(vol->backingStore.format) : NULL;
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
int ret;
char *size;
virCommandPtr cmd;
+ virCheckFlags(0, -1);
+
if (inputvol) {
virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("cannot copy from volume with qcow-create"));
/*
* storage_backend_disk.c: storage backend for disk handling
*
- * Copyright (C) 2007-2008, 2010 Red Hat, Inc.
+ * Copyright (C) 2007-2008, 2010-2011 Red Hat, Inc.
* Copyright (C) 2007-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
static int
virStorageBackendDiskBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
/* eg parted /dev/sda mklabel msdos */
const char *prog[] = {
NULL,
};
+ virCheckFlags(0, -1);
+
if (virRun(prog, NULL) < 0)
return -1;
virStorageBackendDiskDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
char *part_num = NULL;
char *devpath = NULL;
bool isDevMapperDevice;
int rc = -1;
+ virCheckFlags(0, -1);
+
if (virFileResolveLink(vol->target.path, &devpath) < 0) {
virReportSystemError(errno,
_("Couldn't read volume target path '%s'"),
static char *
virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *srcSpec,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
/*
* # showmount --no-headers -e HOSTNAME
char *retval = NULL;
unsigned int i;
+ virCheckFlags(0, NULL);
+
source = virStoragePoolDefParseSourceString(srcSpec,
VIR_STORAGE_POOL_NETFS);
if (!source)
static int
virStorageBackendFileSystemBuild(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
int err, ret = -1;
char *parent;
char *p;
+ virCheckFlags(0, -1);
+
if ((parent = strdup(pool->def->target.path)) == NULL) {
virReportOOMError();
goto error;
static int
virStorageBackendFileSystemDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
+ virCheckFlags(0, -1);
+
/* XXX delete all vols first ? */
if (rmdir(pool->def->target.path) < 0) {
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
int err;
+ virCheckFlags(0, -1);
+
if (inputvol) {
virStorageReportError(VIR_ERR_INTERNAL_ERROR,
"%s",
virStoragePoolObjPtr pool,
virStorageVolDefPtr vol,
virStorageVolDefPtr inputvol,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
+ virCheckFlags(0, -1);
+
return _virStorageBackendFileSystemVolBuild(conn, pool, vol, inputvol);
}
virStorageBackendFileSystemVolDelete(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
+ virCheckFlags(0, -1);
+
if (unlink(vol->target.path) < 0) {
/* Silently ignore failures where the vol has already gone away */
if (errno != ENOENT) {
static char *
virStorageBackendISCSIFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *srcSpec,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
virStoragePoolSourcePtr source = NULL;
size_t ntargets = 0;
};
char *portal = NULL;
+ virCheckFlags(0, NULL);
+
if (!(source = virStoragePoolDefParseSourceString(srcSpec,
list.type)))
return NULL;
/*
* storage_backend_logical.c: storage backend for logical volume handling
*
- * Copyright (C) 2007-2009 Red Hat, Inc.
+ * Copyright (C) 2007-2009, 2011 Red Hat, Inc.
* Copyright (C) 2007-2008 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
static char *
virStorageBackendLogicalFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *srcSpec ATTRIBUTE_UNUSED,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
/*
* # pvs --noheadings -o pv_name,vg_name
virStoragePoolSourceList sourceList;
int i;
+ virCheckFlags(0, NULL);
+
/*
* NOTE: ignoring errors here; this is just to "touch" any logical volumes
* that might be hanging around, so if this fails for some reason, the
static int
virStorageBackendLogicalBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
const char **vgargv;
const char *pvargv[3];
int n = 0, i, fd;
char zeros[PV_BLANK_SECTOR_SIZE];
+ virCheckFlags(0, -1);
+
memset(zeros, 0, sizeof(zeros));
if (VIR_ALLOC_N(vgargv, 3 + pool->def->source.ndevice) < 0) {
static int
virStorageBackendLogicalDeletePool(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
const char *cmdargv[] = {
VGREMOVE, "-f", pool->def->source.name, NULL
const char *pvargv[3];
int i, error;
+ virCheckFlags(0, -1);
+
/* first remove the volume group */
if (virRun(cmdargv, NULL) < 0)
return -1;
virStorageBackendLogicalDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED,
virStoragePoolObjPtr pool ATTRIBUTE_UNUSED,
virStorageVolDefPtr vol,
- unsigned int flags ATTRIBUTE_UNUSED)
+ unsigned int flags)
{
const char *cmdargv[] = {
LVREMOVE, "-f", vol->target.path, NULL
};
+ virCheckFlags(0, -1);
+
if (virRun(cmdargv, NULL) < 0)
return -1;
static virDrvOpenStatus
storageOpen(virConnectPtr conn,
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
+ virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
+
if (!driverState)
return VIR_DRV_OPEN_DECLINED;
static virStoragePoolPtr
storagePoolCreate(virConnectPtr conn,
const char *xml,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = conn->storagePrivateData;
virStoragePoolDefPtr def;
virStoragePoolObjPtr pool = NULL;
virStoragePoolPtr ret = NULL;
virStorageBackendPtr backend;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
if (!(def = virStoragePoolDefParseString(xml)))
goto cleanup;
static virStoragePoolPtr
storagePoolDefine(virConnectPtr conn,
const char *xml,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = conn->storagePrivateData;
virStoragePoolDefPtr def;
virStoragePoolObjPtr pool = NULL;
virStoragePoolPtr ret = NULL;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
if (!(def = virStoragePoolDefParseString(xml)))
goto cleanup;
static int
storagePoolStart(virStoragePoolPtr obj,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool;
virStorageBackendPtr backend;
int ret = -1;
+ virCheckFlags(0, -1);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid);
storageDriverUnlock(driver);
static int
storagePoolRefresh(virStoragePoolPtr obj,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool;
virStorageBackendPtr backend;
int ret = -1;
+ virCheckFlags(0, -1);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid);
static char *
storagePoolGetXMLDesc(virStoragePoolPtr obj,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool;
char *ret = NULL;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid);
storageDriverUnlock(driver);
static virStorageVolPtr
storageVolumeCreateXML(virStoragePoolPtr obj,
const char *xmldesc,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool;
virStorageBackendPtr backend;
virStorageVolDefPtr voldef = NULL;
virStorageVolPtr ret = NULL, volobj = NULL;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid);
storageDriverUnlock(driver);
storageVolumeCreateXMLFrom(virStoragePoolPtr obj,
const char *xmldesc,
virStorageVolPtr vobj,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool, origpool = NULL;
virStorageBackendPtr backend;
virStorageVolPtr ret = NULL, volobj = NULL;
int buildret;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid);
if (pool && STRNEQ(obj->name, vobj->pool)) {
static char *
storageVolumeGetXMLDesc(virStorageVolPtr obj,
- unsigned int flags ATTRIBUTE_UNUSED) {
+ unsigned int flags)
+{
virStorageDriverStatePtr driver = obj->conn->storagePrivateData;
virStoragePoolObjPtr pool;
virStorageBackendPtr backend;
virStorageVolDefPtr vol;
char *ret = NULL;
+ virCheckFlags(0, NULL);
+
storageDriverLock(driver);
pool = virStoragePoolObjFindByName(&driver->pools, obj->pool);
storageDriverUnlock(driver);