On 02.11.2015 12:13, Xiao Guangrong wrote:
Currently file_ram_alloc() is designed for hugetlbfs, however, the memory
of nvdimm can come from either raw pmem device eg, /dev/pmem, or the file
locates at DAX enabled filesystem

So this patch let it work on any kind of path

No, this patch doesn't change any logic, but only fix variable name and some error messages.


Signed-off-by: Xiao Guangrong <guangrong.x...@linux.intel.com>
---
  exec.c | 24 ++++++++++++------------
  1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/exec.c b/exec.c
index 9de38be..9075f4d 100644
--- a/exec.c
+++ b/exec.c
@@ -1184,25 +1184,25 @@ static void *file_ram_alloc(RAMBlock *block,
      char *c;
      void *area;
      int fd;
-    uint64_t hpagesize;
+    uint64_t pagesize;
      Error *local_err = NULL;
- hpagesize = qemu_file_get_page_size(path, &local_err);
+    pagesize = qemu_file_get_page_size(path, &local_err);
      if (local_err) {
          error_propagate(errp, local_err);
          goto error;
      }
- if (hpagesize == getpagesize()) {
-        fprintf(stderr, "Warning: path not on HugeTLBFS: %s\n", path);
+    if (pagesize == getpagesize()) {
+        fprintf(stderr, "Memory is not allocated from HugeTlbfs.\n");

Why do you remove path from error message? It is good additional information.. What if we have several memory file backends?

      }
- block->mr->align = hpagesize;
+    block->mr->align = pagesize;
- if (memory < hpagesize) {
+    if (memory < pagesize) {
          error_setg(errp, "memory size 0x" RAM_ADDR_FMT " must be equal to "
-                   "or larger than huge page size 0x%" PRIx64,
-                   memory, hpagesize);
+                   "or larger than page size 0x%" PRIx64,
+                   memory, pagesize);
          goto error;
      }
@@ -1226,14 +1226,14 @@ static void *file_ram_alloc(RAMBlock *block,
      fd = mkstemp(filename);
      if (fd < 0) {
          error_setg_errno(errp, errno,
-                         "unable to create backing store for hugepages");
+                         "unable to create backing store for path %s", path);
          g_free(filename);
          goto error;
      }
      unlink(filename);
      g_free(filename);
- memory = ROUND_UP(memory, hpagesize);
+    memory = ROUND_UP(memory, pagesize);
/*
       * ftruncate is not supported by hugetlbfs in older
@@ -1245,10 +1245,10 @@ static void *file_ram_alloc(RAMBlock *block,
          perror("ftruncate");
      }
- area = qemu_ram_mmap(fd, memory, hpagesize, block->flags & RAM_SHARED);
+    area = qemu_ram_mmap(fd, memory, pagesize, block->flags & RAM_SHARED);
      if (area == MAP_FAILED) {
          error_setg_errno(errp, errno,
-                         "unable to map backing store for hugepages");
+                         "unable to map backing store for path %s", path);
          close(fd);
          goto error;
      }


--
Best regards,
Vladimir
* now, @virtuozzo.com instead of @parallels.com. Sorry for this inconvenience.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to