[CRIU] [crtools-bot for Kinsbursky Stanislav ] dump: hide check for fifo

Cyrill Gorcunov gorcunov at openvz.org
Fri Mar 2 02:25:46 EST 2012


The commit is pushed to "master" and will appear on git://github.com/cyrillos/crtools.git
------>
commit 698fe036d08d59c93fab58d15c610f4a3e2b0ac8
Author: Kinsbursky Stanislav <skinsbursky at openvz.org>
Date:   Thu Mar 1 20:56:41 2012 +0300

    dump: hide check for fifo
    
    Signed-off-by: Stanislav Kinsbursky <skinsbursky at openvz.org>
    Acked-by: Pavel Emelyanov <xemul at parallels.com>
    Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
 cr-dump.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/cr-dump.c b/cr-dump.c
index 0da158d..a7925a8 100644
--- a/cr-dump.c
+++ b/cr-dump.c
@@ -252,6 +252,17 @@ static int dump_one_pipe(struct fd_parms *p, unsigned int id, int lfd,
 {
 	struct pipe_entry e;
 	int ret = -1;
+	struct statfs stfs_buf;
+
+	if (fstatfs(lfd, &stfs_buf) < 0) {
+		pr_perror("Can't fstatfs on %ld", p->fd_name);
+		return -1;
+	}
+
+	if (stfs_buf.f_type != PIPEFS_MAGIC) {
+		pr_err("Dumping of FIFO's is not supported: %ld\n", p->fd_name);
+		return -1;
+	}
 
 	pr_info("Dumping pipe %ld/%x flags %x\n", p->fd_name, id, p->flags);
 
@@ -305,7 +316,6 @@ static int read_fd_params(pid_t pid, char *fd, struct fd_parms *p)
 static int dump_one_fd(pid_t pid, int pid_fd_dir, char *d_name, struct cr_fdset *cr_fdset,
 		       struct sk_queue *sk_queue)
 {
-	struct statfs stfs_buf;
 	struct stat st_buf;
 	int err = -1;
 	struct fd_parms p;
@@ -352,15 +362,8 @@ static int dump_one_fd(pid_t pid, int pid_fd_dir, char *d_name, struct cr_fdset
 		return dump_one_reg_file(&p, lfd, cr_fdset, 1);
 	}
 
-	if (S_ISFIFO(st_buf.st_mode)) {
-		if (fstatfs(lfd, &stfs_buf) < 0) {
-			pr_perror("Can't fstatfs on %ld", p.fd_name);
-			return -1;
-		}
-
-		if (stfs_buf.f_type == PIPEFS_MAGIC)
-			return dump_one_pipe(&p, st_buf.st_ino, lfd, cr_fdset);
-	}
+	if (S_ISFIFO(st_buf.st_mode))
+		return dump_one_pipe(&p, st_buf.st_ino, lfd, cr_fdset);
 
 err:
 	pr_err("Can't dump file %ld of that type [%x]\n", p.fd_name, st_buf.st_mode);


More information about the CRIU mailing list