Example #1
0
int ploop_read_disk_descr(struct ploop_disk_images_data **di, const char *file)
{
	int ret;

	ret = ploop_open_dd(di, file);
	if (ret)
		return ret;

	return ploop_read_dd(*di);
}
Example #2
0
File: di.c Project: grze/ploop
/* Lock and read DiskDescriptor.xml
 * The ploop_open_dd() should be used to get ploop_disk_images_data
 */
int ploop_lock_dd(struct ploop_disk_images_data *di)
{
	int ret;

	if (!di || !di->runtime || !di->runtime->xml_fname) {
		ploop_err(0, "Unable to lock: DiskDescriptor.xml is not opened");
		return -1;
	}

	ret = ploop_lock_di(di);
	if (ret)
		return ret;

	/* Update the DiskDescriptor.xml representation after lock */
	if (ploop_read_dd(di)) {
		ploop_unlock_di(di);
		return -1;
	}

	return 0;
}