Message ID | 1350555758-29988-2-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
On 10/18/2012 12:22 PM, Paolo Bonzini wrote: > Now that qemu_fseek does not exist anymore, there is no reason to do > an fseek before fread/fwrite when operating on an stdio file. > Thus, unify the get/put_buffer callbacks used by qemu_fopen > with those used for pipes. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > savevm.c | 19 ++----------------- > 1 file modificato, 2 inserzioni(+), 17 rimozioni(-) > > diff --git a/savevm.c b/savevm.c > index b080d37..7068390 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -342,21 +342,6 @@ QEMUFile *qemu_fopen_socket(int fd) > return s->file; > } > > -static int file_put_buffer(void *opaque, const uint8_t *buf, > - int64_t pos, int size) > -{ > - QEMUFileStdio *s = opaque; > - fseek(s->stdio_file, pos, SEEK_SET); > - return fwrite(buf, 1, size, s->stdio_file); > -} > - > -static int file_get_buffer(void *opaque, uint8_t *buf, int64_t pos, int size) > -{ > - QEMUFileStdio *s = opaque; > - fseek(s->stdio_file, pos, SEEK_SET); > - return fread(buf, 1, size, s->stdio_file); > -} > - > QEMUFile *qemu_fopen(const char *filename, const char *mode) > { > QEMUFileStdio *s; > @@ -375,10 +360,10 @@ QEMUFile *qemu_fopen(const char *filename, const char *mode) > goto fail; > > if(mode[0] == 'w') { > - s->file = qemu_fopen_ops(s, file_put_buffer, NULL, stdio_fclose, > + s->file = qemu_fopen_ops(s, stdio_put_buffer, NULL, stdio_fclose, > NULL, NULL, NULL); > } else { > - s->file = qemu_fopen_ops(s, NULL, file_get_buffer, stdio_fclose, > + s->file = qemu_fopen_ops(s, NULL, stdio_get_buffer, stdio_fclose, > NULL, NULL, NULL); > } > return s->file; > Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Paolo Bonzini <pbonzini@redhat.com> wrote: > Now that qemu_fseek does not exist anymore, there is no reason to do > an fseek before fread/fwrite when operating on an stdio file. > Thus, unify the get/put_buffer callbacks used by qemu_fopen > with those used for pipes. As far as I know, the pos parameter was only used by qcow2 to store the snapshots there. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com>
diff --git a/savevm.c b/savevm.c index b080d37..7068390 100644 --- a/savevm.c +++ b/savevm.c @@ -342,21 +342,6 @@ QEMUFile *qemu_fopen_socket(int fd) return s->file; } -static int file_put_buffer(void *opaque, const uint8_t *buf, - int64_t pos, int size) -{ - QEMUFileStdio *s = opaque; - fseek(s->stdio_file, pos, SEEK_SET); - return fwrite(buf, 1, size, s->stdio_file); -} - -static int file_get_buffer(void *opaque, uint8_t *buf, int64_t pos, int size) -{ - QEMUFileStdio *s = opaque; - fseek(s->stdio_file, pos, SEEK_SET); - return fread(buf, 1, size, s->stdio_file); -} - QEMUFile *qemu_fopen(const char *filename, const char *mode) { QEMUFileStdio *s; @@ -375,10 +360,10 @@ QEMUFile *qemu_fopen(const char *filename, const char *mode) goto fail; if(mode[0] == 'w') { - s->file = qemu_fopen_ops(s, file_put_buffer, NULL, stdio_fclose, + s->file = qemu_fopen_ops(s, stdio_put_buffer, NULL, stdio_fclose, NULL, NULL, NULL); } else { - s->file = qemu_fopen_ops(s, NULL, file_get_buffer, stdio_fclose, + s->file = qemu_fopen_ops(s, NULL, stdio_get_buffer, stdio_fclose, NULL, NULL, NULL); } return s->file;
Now that qemu_fseek does not exist anymore, there is no reason to do an fseek before fread/fwrite when operating on an stdio file. Thus, unify the get/put_buffer callbacks used by qemu_fopen with those used for pipes. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- savevm.c | 19 ++----------------- 1 file modificato, 2 inserzioni(+), 17 rimozioni(-)