Commit 57d341f1 authored by Mike Rapoport's avatar Mike Rapoport Committed by Andrei Vagin

page-xfer: make connect_to_page_server return socket fd

It will used by lazy-pages daemon to enable polling for reception of page
data from remote dump

travis-ci: success for uffd: A new set of improvements
Signed-off-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent c907796d
...@@ -1565,7 +1565,7 @@ int cr_pre_dump_tasks(pid_t pid) ...@@ -1565,7 +1565,7 @@ int cr_pre_dump_tasks(pid_t pid)
if (vdso_init()) if (vdso_init())
goto err; goto err;
if (connect_to_page_server()) if (connect_to_page_server() < 0)
goto err; goto err;
if (setup_alarm_handler()) if (setup_alarm_handler())
...@@ -1761,7 +1761,7 @@ int cr_dump_tasks(pid_t pid) ...@@ -1761,7 +1761,7 @@ int cr_dump_tasks(pid_t pid)
goto err; goto err;
} }
if (connect_to_page_server()) if (connect_to_page_server() < 0)
goto err; goto err;
if (setup_alarm_handler()) if (setup_alarm_handler())
......
...@@ -906,7 +906,7 @@ out: ...@@ -906,7 +906,7 @@ out:
* on urgent data is the smartest mode ever. * on urgent data is the smartest mode ever.
*/ */
tcp_cork(page_server_sk, true); tcp_cork(page_server_sk, true);
return 0; return page_server_sk;
} }
int disconnect_from_page_server(void) int disconnect_from_page_server(void)
......
...@@ -847,6 +847,17 @@ close_uffd: ...@@ -847,6 +847,17 @@ close_uffd:
return -1; return -1;
} }
static int prepare_page_server_socket(void)
{
int sk;
sk = connect_to_page_server();
if (sk < 0)
return -1;
return 0;
}
int cr_lazy_pages(bool daemon) int cr_lazy_pages(bool daemon)
{ {
struct epoll_event *events; struct epoll_event *events;
...@@ -894,7 +905,7 @@ int cr_lazy_pages(bool daemon) ...@@ -894,7 +905,7 @@ int cr_lazy_pages(bool daemon)
if (prepare_uffds(lazy_sk, epollfd)) if (prepare_uffds(lazy_sk, epollfd))
return -1; return -1;
if (connect_to_page_server()) if (prepare_page_server_socket())
return -1; return -1;
ret = handle_requests(epollfd, events); ret = handle_requests(epollfd, events);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment