Re: [Qemu-devel] [PATCH v6 03/11] dump: Add API to write vmcore

2014-01-06 Thread Laszlo Ersek
On 01/05/14 08:27, Qiao Nuohan wrote:
 Function is used to write vmcore. If flag_flatten is specified, flatten format
 will be used. In flatten format, data is written block by block in vmcore.
 struct MakedumpfileDataHeader is used to indicate the offset and size of a 
 data
 block.
 
 struct MakedumpfileDataHeader {
 int64_t offset;
 int64_t buf_size;
 };
 
 Signed-off-by: Qiao Nuohan qiaonuo...@cn.fujitsu.com
 ---
  dump.c |   28 
  1 files changed, 28 insertions(+), 0 deletions(-)
 
 diff --git a/dump.c b/dump.c
 index 89baeab..764db39 100644
 --- a/dump.c
 +++ b/dump.c
 @@ -726,6 +726,34 @@ static int write_end_flat_header(int fd)
  return 0;
  }
  
 +static int write_buffer(int fd, bool flag_flatten, off_t offset, void *buf,
 +size_t size)
 +{

You might have wanted to const-qualify *buf here, but it certainly
doesn't warrant a respin.

Reviewed-by: Laszlo Ersek ler...@redhat.com



Re: [Qemu-devel] [PATCH v6 03/11] dump: Add API to write vmcore

2014-01-06 Thread Qiao Nuohan

On 01/07/2014 02:12 AM, Laszlo Ersek wrote:

@@ -726,6 +726,34 @@ static int write_end_flat_header(int fd)
return 0;
}

  +static int write_buffer(int fd, bool flag_flatten, off_t offset, void *buf,
  +size_t size)
  +{

You might have wanted to const-qualify *buf here, but it certainly
doesn't warrant a respin.


Acked, I will reflect it in later version.

--
Regards
Qiao Nuohan



[Qemu-devel] [PATCH v6 03/11] dump: Add API to write vmcore

2014-01-05 Thread Qiao Nuohan
Function is used to write vmcore. If flag_flatten is specified, flatten format
will be used. In flatten format, data is written block by block in vmcore.
struct MakedumpfileDataHeader is used to indicate the offset and size of a data
block.

struct MakedumpfileDataHeader {
int64_t offset;
int64_t buf_size;
};

Signed-off-by: Qiao Nuohan qiaonuo...@cn.fujitsu.com
---
 dump.c |   28 
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/dump.c b/dump.c
index 89baeab..764db39 100644
--- a/dump.c
+++ b/dump.c
@@ -726,6 +726,34 @@ static int write_end_flat_header(int fd)
 return 0;
 }
 
+static int write_buffer(int fd, bool flag_flatten, off_t offset, void *buf,
+size_t size)
+{
+size_t written_size;
+MakedumpfileDataHeader mdh;
+
+if (flag_flatten) {
+mdh.offset = cpu_to_be64(offset);
+mdh.buf_size = cpu_to_be64(size);
+
+written_size = qemu_write_full(fd, mdh, sizeof(mdh));
+if (written_size != sizeof(mdh)) {
+return -1;
+}
+} else {
+if (lseek(fd, offset, SEEK_SET)  0) {
+return -1;
+}
+}
+
+written_size = qemu_write_full(fd, buf, size);
+if (written_size != size) {
+return -1;
+}
+
+return 0;
+}
+
 static ram_addr_t get_start_block(DumpState *s)
 {
 GuestPhysBlock *block;
-- 
1.7.1