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); }
/* 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; }