On Wed, Feb 13, 2019 at 04:13:18PM +0800, Wei Yang wrote: > On Wed, Feb 13, 2019 at 03:14:01PM +0800, Stefan Hajnoczi wrote: > >diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c > >index ba601ce940..d62689179b 100644 > >--- a/backends/hostmem-file.c > >+++ b/backends/hostmem-file.c > >@@ -46,6 +46,28 @@ file_backend_memory_alloc(HostMemoryBackend *backend, > >Error **errp) > > gchar *name; > > #endif > > > >+ /* > >+ * Verify pmem file size since starting a guest with an incorrect size > >+ * leads to confusing failures inside the guest. > >+ */ > >+ if (fb->is_pmem && fb->mem_path) { > >+ Error *local_err = NULL; > >+ uint64_t size; > >+ > >+ size = qemu_get_pmem_size(fb->mem_path, &local_err); > >+ if (!size) { > >+ error_propagate(errp, local_err); > >+ return; > >+ } > >+ > >+ if (backend->size > size) { > >+ error_setg(errp, "size property %" PRIu64 " is larger than " > >+ "pmem file \"%s\" size %" PRIu64, backend->size, > >+ fb->mem_path, size); > >+ return; > >+ } > >+ } > >+ > > if (!backend->size) { > > error_setg(errp, "can't create backend with size 0"); > > return; > > Would it be reasonable to move the above check after checking size and > mem_path?
Thanks, will fix in v3. Stefan
signature.asc
Description: PGP signature