VIR_LOG_INIT("storage.storage_backend_disk");
-#define PARTHELPER LIBEXECDIR "/libvirt_parthelper"
-
#define SECTOR_SIZE 512
static int
* - normal metadata 100027630080 100030242304 2612736
*
*/
- virCommandPtr cmd = virCommandNewArgList(PARTHELPER,
- pool->def->source.devices[0].path,
- NULL);
+
+ char *parthelper_path;
+ virCommandPtr cmd;
struct virStorageBackendDiskPoolVolData cbdata = {
.pool = pool,
.vol = vol,
};
int ret;
+ if (!(parthelper_path = virFileFindResource("libvirt_parthelper",
+ "src",
+ LIBEXECDIR)))
+ return -1;
+
+ cmd = virCommandNewArgList(parthelper_path,
+ pool->def->source.devices[0].path,
+ NULL);
+
pool->def->allocation = pool->def->capacity = pool->def->available = 0;
ret = virCommandRunNul(cmd,
virStorageBackendDiskMakeVol,
&cbdata);
virCommandFree(cmd);
+ VIR_FREE(parthelper_path);
return ret;
}
static int
virStorageBackendDiskReadGeometry(virStoragePoolObjPtr pool)
{
- virCommandPtr cmd = virCommandNewArgList(PARTHELPER,
+ char *parthelper_path;
+ virCommandPtr cmd;
+ int ret;
+
+ if (!(parthelper_path = virFileFindResource("libvirt_parthelper",
+ "src",
+ LIBEXECDIR)))
+ return -1;
+
+ cmd = virCommandNewArgList(parthelper_path,
pool->def->source.devices[0].path,
"-g",
NULL);
- int ret;
ret = virCommandRunNul(cmd,
3,
virStorageBackendDiskMakePoolGeometry,
pool);
virCommandFree(cmd);
+ VIR_FREE(parthelper_path);
return ret;
}