[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 03 of 24] xenpaging: use PERROR to print errno
# HG changeset patch # User Olaf Hering <olaf@xxxxxxxxx> # Date 1317653597 -7200 # Node ID ee4c4c7699e0de2b6bddce1e816d35f36ffb0470 # Parent 21b7c9a6545ac1ec9d91fce83d46aab0b5808b05 xenpaging: use PERROR to print errno Also catch lseek() errors in file_op(). Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> diff -r 21b7c9a6545a -r ee4c4c7699e0 tools/xenpaging/file_ops.c --- a/tools/xenpaging/file_ops.c +++ b/tools/xenpaging/file_ops.c @@ -37,6 +37,11 @@ static int file_op(int fd, void *page, i int ret; seek_ret = lseek(fd, i << PAGE_SHIFT, SEEK_SET); + if (seek_ret == -1) + { + ret = -errno; + goto err; + } total = 0; while ( total < PAGE_SIZE ) diff -r 21b7c9a6545a -r ee4c4c7699e0 tools/xenpaging/xenpaging.c --- a/tools/xenpaging/xenpaging.c +++ b/tools/xenpaging/xenpaging.c @@ -90,7 +90,7 @@ static int xenpaging_wait_for_event_or_t if (errno == EINTR) return 0; - ERROR("Poll exited with an error"); + PERROR("Poll exited with an error"); return -errno; } @@ -121,7 +121,7 @@ static int xenpaging_wait_for_event_or_t port = xc_evtchn_pending(xce); if ( port == -1 ) { - ERROR("Failed to read port from event channel"); + PERROR("Failed to read port from event channel"); rc = -1; goto err; } @@ -129,7 +129,7 @@ static int xenpaging_wait_for_event_or_t rc = xc_evtchn_unmask(xce, port); if ( rc < 0 ) { - ERROR("Failed to unmask event channel port"); + PERROR("Failed to unmask event channel port"); } } err: @@ -185,7 +185,7 @@ static xenpaging_t *xenpaging_init(domid paging->xs_handle = xs_open(0); if ( paging->xs_handle == NULL ) { - ERROR("Error initialising xenstore connection"); + PERROR("Error initialising xenstore connection"); goto err; } @@ -193,7 +193,7 @@ static xenpaging_t *xenpaging_init(domid snprintf(watch_token, sizeof(watch_token), "%u", domain_id); if ( xs_watch(paging->xs_handle, "@releaseDomain", watch_token) == false ) { - ERROR("Could not bind to shutdown watch\n"); + PERROR("Could not bind to shutdown watch\n"); goto err; } @@ -214,7 +214,7 @@ static xenpaging_t *xenpaging_init(domid paging->mem_event.shared_page = init_page(); if ( paging->mem_event.shared_page == NULL ) { - ERROR("Error initialising shared page"); + PERROR("Error initialising shared page"); goto err; } @@ -222,7 +222,7 @@ static xenpaging_t *xenpaging_init(domid paging->mem_event.ring_page = init_page(); if ( paging->mem_event.ring_page == NULL ) { - ERROR("Error initialising ring page"); + PERROR("Error initialising ring page"); goto err; } @@ -240,13 +240,13 @@ static xenpaging_t *xenpaging_init(domid { switch ( errno ) { case EBUSY: - ERROR("xenpaging is (or was) active on this domain"); + PERROR("xenpaging is (or was) active on this domain"); break; case ENODEV: - ERROR("EPT not supported for this guest"); + PERROR("EPT not supported for this guest"); break; default: - ERROR("Error initialising shared page: %s", strerror(errno)); + PERROR("Error initialising shared page: %s", strerror(errno)); break; } goto err; @@ -256,7 +256,7 @@ static xenpaging_t *xenpaging_init(domid paging->mem_event.xce_handle = xc_evtchn_open(NULL, 0); if ( paging->mem_event.xce_handle == NULL ) { - ERROR("Failed to open event channel"); + PERROR("Failed to open event channel"); goto err; } @@ -266,7 +266,7 @@ static xenpaging_t *xenpaging_init(domid paging->mem_event.shared_page->port); if ( rc < 0 ) { - ERROR("Failed to bind event channel"); + PERROR("Failed to bind event channel"); goto err; } @@ -276,7 +276,7 @@ static xenpaging_t *xenpaging_init(domid paging->domain_info = malloc(sizeof(xc_domaininfo_t)); if ( paging->domain_info == NULL ) { - ERROR("Error allocating memory for domain info"); + PERROR("Error allocating memory for domain info"); goto err; } @@ -284,7 +284,7 @@ static xenpaging_t *xenpaging_init(domid paging->domain_info); if ( rc != 1 ) { - ERROR("Error getting domain info"); + PERROR("Error getting domain info"); goto err; } @@ -292,7 +292,7 @@ static xenpaging_t *xenpaging_init(domid paging->bitmap = bitmap_alloc(paging->domain_info->max_pages); if ( !paging->bitmap ) { - ERROR("Error allocating bitmap"); + PERROR("Error allocating bitmap"); goto err; } DPRINTF("max_pages = %"PRIx64"\n", paging->domain_info->max_pages); @@ -308,7 +308,7 @@ static xenpaging_t *xenpaging_init(domid rc = policy_init(paging); if ( rc != 0 ) { - ERROR("Error initialising policy"); + PERROR("Error initialising policy"); goto err; } @@ -355,14 +355,14 @@ static int xenpaging_teardown(xenpaging_ rc = xc_mem_paging_disable(xch, paging->mem_event.domain_id); if ( rc != 0 ) { - ERROR("Error tearing down domain paging in xen"); + PERROR("Error tearing down domain paging in xen"); } /* Unbind VIRQ */ rc = xc_evtchn_unbind(paging->mem_event.xce_handle, paging->mem_event.port); if ( rc != 0 ) { - ERROR("Error unbinding event port"); + PERROR("Error unbinding event port"); } paging->mem_event.port = -1; @@ -370,7 +370,7 @@ static int xenpaging_teardown(xenpaging_ rc = xc_evtchn_close(paging->mem_event.xce_handle); if ( rc != 0 ) { - ERROR("Error closing event channel"); + PERROR("Error closing event channel"); } paging->mem_event.xce_handle = NULL; @@ -381,7 +381,7 @@ static int xenpaging_teardown(xenpaging_ rc = xc_interface_close(xch); if ( rc != 0 ) { - ERROR("Error closing connection to xen"); + PERROR("Error closing connection to xen"); } return 0; @@ -441,7 +441,7 @@ static int xenpaging_evict_page(xenpagin PROT_READ | PROT_WRITE, &gfn, 1); if ( page == NULL ) { - ERROR("Error mapping page"); + PERROR("Error mapping page"); goto out; } @@ -449,8 +449,8 @@ static int xenpaging_evict_page(xenpagin ret = write_page(fd, page, i); if ( ret != 0 ) { + PERROR("Error copying page"); munmap(page, PAGE_SIZE); - ERROR("Error copying page"); goto out; } @@ -464,7 +464,7 @@ static int xenpaging_evict_page(xenpagin victim->gfn); if ( ret != 0 ) { - ERROR("Error evicting page"); + PERROR("Error evicting page"); goto out; } @@ -520,7 +520,7 @@ static int xenpaging_populate_page(xenpa sleep(1); continue; } - ERROR("Error preparing for page in"); + PERROR("Error preparing for page in"); goto out_map; } } @@ -532,7 +532,7 @@ static int xenpaging_populate_page(xenpa PROT_READ | PROT_WRITE, &gfn, 1); if ( page == NULL ) { - ERROR("Error mapping page: page is null"); + PERROR("Error mapping page: page is null"); goto out_map; } @@ -540,7 +540,7 @@ static int xenpaging_populate_page(xenpa ret = read_page(fd, page, i); if ( ret != 0 ) { - ERROR("Error reading page"); + PERROR("Error reading page"); goto out; } @@ -579,7 +579,7 @@ static int evict_victim(xenpaging_t *pag { if ( j++ % 1000 == 0 ) if ( xenpaging_mem_paging_flush_ioemu_cache(paging) ) - ERROR("Error flushing ioemu cache"); + PERROR("Error flushing ioemu cache"); } } while ( ret ); @@ -670,7 +670,7 @@ int main(int argc, char *argv[]) rc = xenpaging_wait_for_event_or_timeout(paging); if ( rc < 0 ) { - ERROR("Error getting event"); + PERROR("Error getting event"); goto out; } else if ( rc != 0 ) @@ -710,7 +710,7 @@ int main(int argc, char *argv[]) rc = xenpaging_populate_page(paging, req.gfn, fd, i); if ( rc != 0 ) { - ERROR("Error populating page"); + PERROR("Error populating page"); goto out; } } @@ -723,7 +723,7 @@ int main(int argc, char *argv[]) rc = xenpaging_resume_page(paging, &rsp, 1); if ( rc != 0 ) { - ERROR("Error resuming page"); + PERROR("Error resuming page"); goto out; } @@ -752,7 +752,7 @@ int main(int argc, char *argv[]) rc = xenpaging_resume_page(paging, &rsp, 0); if ( rc != 0 ) { - ERROR("Error resuming"); + PERROR("Error resuming"); goto out; } } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |