On 2/10/22 17:16, Daniel P. Berrangé wrote:
On Thu, Feb 10, 2022 at 12:13:26PM +0100, Michal Privoznik wrote:
> After previous commits there is no need for qemuPrepareNVRAM() to
> open code virFileRewrite(). Deduplicate the code by calling the
> function.
>
> Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
> ---
> src/qemu/qemu_process.c | 118 +++++++++++++---------------------------
> 1 file changed, 39 insertions(+), 79 deletions(-)
>
> static int
> qemuPrepareNVRAM(virQEMUDriver *driver,
> virDomainObj *vm,
> @@ -4428,13 +4462,8 @@ qemuPrepareNVRAM(virQEMUDriver *driver,
> {
> g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
> int ret = -1;
> - int srcFD = -1;
> - int dstFD = -1;
> virDomainLoaderDef *loader = vm->def->os.loader;
> - bool created = false;
> const char *master_nvram_path;
> - ssize_t r;
> - g_autofree char *tmp_dst_path = NULL;
>
> if (!loader || !loader->nvram ||
> (virFileExists(loader->nvram) && !reset_nvram))
> @@ -4458,84 +4487,15 @@ qemuPrepareNVRAM(virQEMUDriver *driver,
> goto cleanup;
> }
>
> - if ((srcFD = virFileOpenAs(master_nvram_path, O_RDONLY,
> - 0, -1, -1, 0)) < 0) {
> - virReportSystemError(-srcFD,
> - _("Failed to open file '%s'"),
> - master_nvram_path);
We don't need to remove this surely, if we pass...
> + if (virFileRewrite(loader->nvram,
> + S_IRUSR | S_IWUSR,
> + cfg->user, cfg->group,
> + qemuPrepareNVRAMHelper,
> + master_nvram_path) < 0)
... &srcFD instead of master_nvram_path here ?
Yep. My aim was to have a self contained callback, but it's just a
matter of preference. Let me fix that in v2.
Michal