From f355ed8448bc5685af749ebbd3b3816f3c8f927a Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 15 Oct 2018 15:22:53 +0100 Subject: [PATCH] libxencall: Improve linux syscall error messages Make the bufdev and non-bufdev messages distinct, and always print the non-constant argument (ie, the size). This assists diagnosis. CC: Andrew Cooper CC: Hans van Kranenburg Acked-by: Wei Liu --- tools/libs/call/linux.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/libs/call/linux.c b/tools/libs/call/linux.c index d8a6306e04..51fa4899eb 100644 --- a/tools/libs/call/linux.c +++ b/tools/libs/call/linux.c @@ -93,7 +93,8 @@ static void *alloc_pages_bufdev(xencall_handle *xcall, size_t npages) xcall->buf_fd, 0); if ( p == MAP_FAILED ) { - PERROR("alloc_pages: mmap failed"); + PERROR("alloc_pages: mmap (,%zu*%lu,...) [bufdev] failed", + npages, (unsigned long)PAGE_SIZE); p = NULL; } @@ -110,7 +111,7 @@ static void *alloc_pages_nobufdev(xencall_handle *xcall, size_t npages) p = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_LOCKED, -1, 0); if ( p == MAP_FAILED ) { - PERROR("alloc_pages: mmap failed"); + PERROR("alloc_pages: mmap(,%zu,...) [nobufdev] failed", size); return NULL; } @@ -119,7 +120,8 @@ static void *alloc_pages_nobufdev(xencall_handle *xcall, size_t npages) rc = madvise(p, npages * PAGE_SIZE, MADV_DONTFORK); if ( rc < 0 ) { - PERROR("alloc_pages: madvise failed"); + PERROR("alloc_pages: madvise (,%zu*%lu,) [nobufdev] failed", + npages, (unsigned long)PAGE_SIZE); goto out; } -- 2.39.5