[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/8] migration-loca: add qemu_fopen_pipe()
From: |
Lei Li |
Subject: |
[Qemu-devel] [PATCH 2/8] migration-loca: add qemu_fopen_pipe() |
Date: |
Wed, 25 Sep 2013 22:32:42 +0800 |
Add qemu_fopen_pipe() to open QEMUFileOps pipe_write_ops and
pipe_read_ops introduced for pipe protocol.
Signed-off-by: Lei Li <address@hidden>
---
include/migration/qemu-file.h | 2 ++
migration-local.c | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/include/migration/qemu-file.h b/include/migration/qemu-file.h
index 0f757fb..39ad0bd 100644
--- a/include/migration/qemu-file.h
+++ b/include/migration/qemu-file.h
@@ -99,6 +99,8 @@ QEMUFile *qemu_fopen(const char *filename, const char *mode);
QEMUFile *qemu_fdopen(int fd, const char *mode);
QEMUFile *qemu_fopen_socket(int fd, const char *mode);
QEMUFile *qemu_popen_cmd(const char *command, const char *mode);
+QEMUFile *qemu_fopen_pipe(int sockfd, const char *mode);
+
int qemu_get_fd(QEMUFile *f);
int qemu_fclose(QEMUFile *f);
int64_t qemu_ftell(QEMUFile *f);
diff --git a/migration-local.c b/migration-local.c
index 1fb62b6..d90b2ff 100644
--- a/migration-local.c
+++ b/migration-local.c
@@ -112,3 +112,23 @@ static const QEMUFileOps pipe_write_ops = {
//.save_page = qemu_local_save_ram,
.close = qemu_local_close
};
+
+QEMUFile *qemu_fopen_pipe(int pipefd, const char *mode)
+{
+ QEMUFilePipe *s;
+
+ if (qemu_file_mode_is_not_valid(mode)) {
+ return NULL;
+ }
+
+ s = g_malloc0(sizeof(QEMUFilePipe));
+ s->pipefd = pipefd;
+
+ if (mode[0] == 'w') {
+ s->file = qemu_fopen_ops(s, &pipe_write_ops);
+ } else {
+ s->file = qemu_fopen_ops(s, &pipe_read_ops);
+ }
+
+ return s->file;
+}
--
1.7.7.6
- [Qemu-devel] [PATCH 0/8 RFC] migration: Introduce side channel for RAM, Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 1/8] migration-local: add pipe protocol for QEMUFileOps, Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 3/8] migration-local: add send_pipefd(), Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 5/8] QAPI: introduce magration capability unix_page_flipping, Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 4/8] migration-local: add recv_pipefd(), Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 6/8] migration: add migrate_unix_page_flipping(), Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 7/8] migration-unix: side channel support on unix outgoing, Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 8/8] migration-unix: side channel support on unix incoming, Lei Li, 2013/09/25
- [Qemu-devel] [PATCH 2/8] migration-loca: add qemu_fopen_pipe(),
Lei Li <=
- Re: [Qemu-devel] [PATCH 0/8 RFC] migration: Introduce side channel for RAM, Paolo Bonzini, 2013/09/25