[1/7] remote: Move setup_TCP_server_socket to img-cache

Submitted by Radostin Stoyanov on July 8, 2018, 4:47 p.m.

Details

Message ID 20180708164711.857-2-rstoyanov1@gmail.com
State New
Series "Image-{cache,proxy} tweaks"
Headers show

Commit Message

Radostin Stoyanov July 8, 2018, 4:47 p.m.
The function setup_TCP_server_socket() is used only in img-cache.c
and it makes sense to be stored there. This change will also reduce
the size of img-remote.c

Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
---
 criu/img-cache.c          | 38 +++++++++++++++++++++++++++++++++++++
 criu/img-remote.c         | 40 ---------------------------------------
 criu/include/img-remote.h |  1 -
 3 files changed, 38 insertions(+), 41 deletions(-)

Patch hide | download patch | download mbox

diff --git a/criu/img-cache.c b/criu/img-cache.c
index 98fdf80e..1eadb977 100644
--- a/criu/img-cache.c
+++ b/criu/img-cache.c
@@ -22,6 +22,44 @@  int accept_proxy_to_cache(int sockfd)
 	return proxy_fd;
 }
 
+int setup_TCP_server_socket(int port)
+{
+	struct sockaddr_in serv_addr;
+	int sockopt = 1;
+	int sockfd = socket(AF_INET, SOCK_STREAM, 0);
+
+	if (sockfd < 0) {
+		pr_perror("Unable to open image socket");
+		return -1;
+	}
+
+	bzero((char *) &serv_addr, sizeof(serv_addr));
+	serv_addr.sin_family = AF_INET;
+	serv_addr.sin_addr.s_addr = INADDR_ANY;
+	serv_addr.sin_port = htons(port);
+
+	if (setsockopt(
+		sockfd, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt)) == -1) {
+		pr_perror("Unable to set SO_REUSEADDR");
+		goto err;
+	}
+
+	if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
+		pr_perror("Unable to bind image socket");
+		goto err;
+	}
+
+	if (listen(sockfd, DEFAULT_LISTEN)) {
+		pr_perror("Unable to listen image socket");
+		goto err;
+	}
+
+	return sockfd;
+err:
+	close(sockfd);
+	return -1;
+}
+
 int image_cache(bool background, char *local_cache_path, unsigned short cache_write_port)
 {
 	pr_info("Proxy to Cache Port %d, CRIU to Cache Path %s\n",
diff --git a/criu/img-remote.c b/criu/img-remote.c
index f148e23f..4593f41f 100644
--- a/criu/img-remote.c
+++ b/criu/img-remote.c
@@ -120,46 +120,6 @@  struct roperation *get_rop_by_name(
 	return NULL;
 }
 
-int setup_TCP_server_socket(int port)
-{
-	struct sockaddr_in serv_addr;
-	int sockopt = 1;
-	int sockfd = socket(AF_INET, SOCK_STREAM, 0);
-
-	if (sockfd < 0) {
-		pr_perror("Unable to open image socket");
-		return -1;
-	}
-
-	bzero((char *) &serv_addr, sizeof(serv_addr));
-	serv_addr.sin_family = AF_INET;
-	serv_addr.sin_addr.s_addr = INADDR_ANY;
-	serv_addr.sin_port = htons(port);
-
-	if (setsockopt(
-		sockfd, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt)) == -1) {
-		pr_perror("Unable to set SO_REUSEADDR");
-		goto err;
-	}
-
-	if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
-		pr_perror("Unable to bind image socket");
-		goto err;
-	}
-
-	if (listen(sockfd, DEFAULT_LISTEN)) {
-		pr_perror("Unable to listen image socket");
-		goto err;
-	}
-
-	return sockfd;
-err:
-	close(sockfd);
-	return -1;
-}
-
-
-
 int setup_TCP_client_socket(char *hostname, int port)
 {
 	int sockfd;
diff --git a/criu/include/img-remote.h b/criu/include/img-remote.h
index 15e1bc5d..ac17025d 100644
--- a/criu/include/img-remote.h
+++ b/criu/include/img-remote.h
@@ -85,7 +85,6 @@  int64_t recv_image_async(struct roperation *op);
 int64_t read_remote_header(int fd, char *snapshot_id, char *path, int *open_mode, uint64_t *size);
 int64_t write_remote_header(int fd, char *snapshot_id, char *path, int open_mode, uint64_t size);
 
-int setup_TCP_server_socket(int port);
 int setup_TCP_client_socket(char *hostname, int port);
 int setup_UNIX_server_socket(char *path);
 void socket_set_non_blocking(int fd);

Comments

Adrian Reber July 11, 2018, 6:28 a.m.
On Sun, Jul 08, 2018 at 05:47:05PM +0100, Radostin Stoyanov wrote:
> The function setup_TCP_server_socket() is used only in img-cache.c
> and it makes sense to be stored there. This change will also reduce
> the size of img-remote.c
> 
> Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
> ---
>  criu/img-cache.c          | 38 +++++++++++++++++++++++++++++++++++++
>  criu/img-remote.c         | 40 ---------------------------------------
>  criu/include/img-remote.h |  1 -
>  3 files changed, 38 insertions(+), 41 deletions(-)
> 
> diff --git a/criu/img-cache.c b/criu/img-cache.c
> index 98fdf80e..1eadb977 100644
> --- a/criu/img-cache.c
> +++ b/criu/img-cache.c
> @@ -22,6 +22,44 @@ int accept_proxy_to_cache(int sockfd)
>  	return proxy_fd;
>  }
>  
> +int setup_TCP_server_socket(int port)

Because of your commit comment, that it will only be used here. Why not
static? Same for the client function in the next patch.

There is also setup_tcp_server() in utli.c, could that replace some of
your code?

> +{
> +	struct sockaddr_in serv_addr;
> +	int sockopt = 1;
> +	int sockfd = socket(AF_INET, SOCK_STREAM, 0);
> +
> +	if (sockfd < 0) {
> +		pr_perror("Unable to open image socket");
> +		return -1;
> +	}
> +
> +	bzero((char *) &serv_addr, sizeof(serv_addr));
> +	serv_addr.sin_family = AF_INET;
> +	serv_addr.sin_addr.s_addr = INADDR_ANY;
> +	serv_addr.sin_port = htons(port);
> +
> +	if (setsockopt(
> +		sockfd, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt)) == -1) {
> +		pr_perror("Unable to set SO_REUSEADDR");
> +		goto err;
> +	}
> +
> +	if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
> +		pr_perror("Unable to bind image socket");
> +		goto err;
> +	}
> +
> +	if (listen(sockfd, DEFAULT_LISTEN)) {
> +		pr_perror("Unable to listen image socket");
> +		goto err;
> +	}
> +
> +	return sockfd;
> +err:
> +	close(sockfd);
> +	return -1;
> +}
> +
>  int image_cache(bool background, char *local_cache_path, unsigned short cache_write_port)
>  {
>  	pr_info("Proxy to Cache Port %d, CRIU to Cache Path %s\n",
> diff --git a/criu/img-remote.c b/criu/img-remote.c
> index f148e23f..4593f41f 100644
> --- a/criu/img-remote.c
> +++ b/criu/img-remote.c
> @@ -120,46 +120,6 @@ struct roperation *get_rop_by_name(
>  	return NULL;
>  }
>  
> -int setup_TCP_server_socket(int port)
> -{
> -	struct sockaddr_in serv_addr;
> -	int sockopt = 1;
> -	int sockfd = socket(AF_INET, SOCK_STREAM, 0);
> -
> -	if (sockfd < 0) {
> -		pr_perror("Unable to open image socket");
> -		return -1;
> -	}
> -
> -	bzero((char *) &serv_addr, sizeof(serv_addr));
> -	serv_addr.sin_family = AF_INET;
> -	serv_addr.sin_addr.s_addr = INADDR_ANY;
> -	serv_addr.sin_port = htons(port);
> -
> -	if (setsockopt(
> -		sockfd, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt)) == -1) {
> -		pr_perror("Unable to set SO_REUSEADDR");
> -		goto err;
> -	}
> -
> -	if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
> -		pr_perror("Unable to bind image socket");
> -		goto err;
> -	}
> -
> -	if (listen(sockfd, DEFAULT_LISTEN)) {
> -		pr_perror("Unable to listen image socket");
> -		goto err;
> -	}
> -
> -	return sockfd;
> -err:
> -	close(sockfd);
> -	return -1;
> -}
> -
> -
> -
>  int setup_TCP_client_socket(char *hostname, int port)
>  {
>  	int sockfd;
> diff --git a/criu/include/img-remote.h b/criu/include/img-remote.h
> index 15e1bc5d..ac17025d 100644
> --- a/criu/include/img-remote.h
> +++ b/criu/include/img-remote.h
> @@ -85,7 +85,6 @@ int64_t recv_image_async(struct roperation *op);
>  int64_t read_remote_header(int fd, char *snapshot_id, char *path, int *open_mode, uint64_t *size);
>  int64_t write_remote_header(int fd, char *snapshot_id, char *path, int open_mode, uint64_t size);
>  
> -int setup_TCP_server_socket(int port);
>  int setup_TCP_client_socket(char *hostname, int port);
>  int setup_UNIX_server_socket(char *path);
>  void socket_set_non_blocking(int fd);
> -- 
> 2.17.1