diff mbox

[v2] ivshmem: use error_report

Message ID 1411082250-27776-1-git-send-email-drjones@redhat.com
State New
Headers show

Commit Message

Andrew Jones Sept. 18, 2014, 11:17 p.m. UTC
Replace all the fprintf(stderr, ...) calls with error_report.
Also make sure exit() consistently uses the error code 1. A few calls
used -1.

Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

Comments

David Marchand Sept. 19, 2014, 7:18 a.m. UTC | #1
On 09/19/2014 01:17 AM, Andrew Jones wrote:
> Replace all the fprintf(stderr, ...) calls with error_report.
> Also make sure exit() consistently uses the error code 1. A few calls
> used -1.
>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
> ---
>   hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
>   1 file changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> index bf585b7691998..b3983296f58fa 100644
> --- a/hw/misc/ivshmem.c
> +++ b/hw/misc/ivshmem.c
> @@ -300,8 +300,8 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
>       chr = qemu_chr_open_eventfd(eventfd);
>
>       if (chr == NULL) {
> -        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
> -        exit(-1);
> +        error_report("creating eventfd for eventfd %d failed", eventfd);
> +        exit(1);
>       }
>       qemu_chr_fe_claim_no_fail(chr);
>
> @@ -328,15 +328,14 @@ static int check_shm_size(IVShmemState *s, int fd) {
>       struct stat buf;
>
>       if (fstat(fd, &buf) < 0) {
> -        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
> +        error_report("exiting: fstat on fd %d failed: %s",
>                   fd, strerror(errno));
>           return -1;
>       }
>
>       if (s->ivshmem_size > buf.st_size) {
> -        fprintf(stderr,
> -                "IVSHMEM ERROR: Requested memory size greater"
> -                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
> +        error_report("Requested memory size greater"
> +                " than shared object size (%" PRIu64 " > %" PRIu64")",
>                   s->ivshmem_size, (uint64_t)buf.st_size);
>           return -1;
>       } else {
> @@ -510,7 +509,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>       incoming_fd = dup(tmp_fd);
>
>       if (incoming_fd == -1) {
> -        fprintf(stderr, "could not allocate file descriptor %s\n",
> +        error_report("could not allocate file descriptor %s",
>                                                               strerror(errno));
>           close(tmp_fd);
>           return;
> @@ -524,7 +523,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>           s->max_peer = 0;
>
>           if (check_shm_size(s, incoming_fd) == -1) {
> -            exit(-1);
> +            exit(1);
>           }
>
>           /* mmap the region and map into the BAR2 */
> @@ -618,13 +617,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
>               value <<= 30;
>               break;
>           default:
> -            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
> +            error_report("invalid ram size: %s", s->sizearg);
>               exit(1);
>       }
>
>       /* BARs must be a power of 2 */
>       if (!is_power_of_two(value)) {
> -        fprintf(stderr, "ivshmem: size must be power of 2\n");
> +        error_report("size must be power of 2");
>           exit(1);
>       }
>
> @@ -676,7 +675,7 @@ static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
>       }
>
>       if (proxy->role_val == IVSHMEM_PEER) {
> -        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
> +        error_report("'peer' devices are not migratable");
>           return -EINVAL;
>       }
>
> @@ -722,7 +721,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>       /* IRQFD requires MSI */
>       if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
>           !ivshmem_has_feature(s, IVSHMEM_MSI)) {
> -        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
> +        error_report("ioeventfd/irqfd requires MSI");
>           exit(1);
>       }
>
> @@ -733,7 +732,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>           } else if (strncmp(s->role, "master", 7) == 0) {
>               s->role_val = IVSHMEM_MASTER;
>           } else {
> -            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
> +            error_report("'role' must be 'peer' or 'master'");
>               exit(1);
>           }
>       } else {
> @@ -773,8 +772,8 @@ static int pci_ivshmem_init(PCIDevice *dev)
>            * to the ivshmem server to receive the memory region */
>
>           if (s->shmobj != NULL) {
> -            fprintf(stderr, "WARNING: do not specify both 'chardev' "
> -                                                "and 'shm' with ivshmem\n");
> +            error_report("WARNING: do not specify both 'chardev' "
> +                                                "and 'shm' with ivshmem");
>           }
>
>           IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
> @@ -802,7 +801,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>           int fd;
>
>           if (s->shmobj == NULL) {
> -            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
> +            error_report("Must specify 'chardev' or 'shm' to ivshmem");
>               exit(1);
>           }
>
> @@ -814,18 +813,18 @@ static int pci_ivshmem_init(PCIDevice *dev)
>                           S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
>              /* truncate file to length PCI device's memory */
>               if (ftruncate(fd, s->ivshmem_size) != 0) {
> -                fprintf(stderr, "ivshmem: could not truncate shared file\n");
> +                error_report("could not truncate shared file");
>               }
>
>           } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
>                           S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
> -            fprintf(stderr, "ivshmem: could not open shared file\n");
> -            exit(-1);
> +            error_report("could not open shared file");
> +            exit(1);
>
>           }
>
>           if (check_shm_size(s, fd) == -1) {
> -            exit(-1);
> +            exit(1);
>           }
>
>           create_shared_memory_BAR(s, fd);
>

Looks good to me (a comment on a dependency on Andreas patchset would 
have been good).

Acked-by: David Marchand <david.marchand@6wind.com>
Zhanghailiang Sept. 19, 2014, 7:34 a.m. UTC | #2
On 2014/9/19 7:17, Andrew Jones wrote:
> Replace all the fprintf(stderr, ...) calls with error_report.
> Also make sure exit() consistently uses the error code 1. A few calls
> used -1.
>
> Signed-off-by: Andrew Jones <drjones@redhat.com>
> ---
>   hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
>   1 file changed, 19 insertions(+), 20 deletions(-)
>
> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> index bf585b7691998..b3983296f58fa 100644
> --- a/hw/misc/ivshmem.c
> +++ b/hw/misc/ivshmem.c
> @@ -300,8 +300,8 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
>       chr = qemu_chr_open_eventfd(eventfd);
>
>       if (chr == NULL) {
> -        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
> -        exit(-1);
> +        error_report("creating eventfd for eventfd %d failed", eventfd);
> +        exit(1);
>       }
>       qemu_chr_fe_claim_no_fail(chr);
>
> @@ -328,15 +328,14 @@ static int check_shm_size(IVShmemState *s, int fd) {
>       struct stat buf;
>
>       if (fstat(fd, &buf) < 0) {
> -        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
> +        error_report("exiting: fstat on fd %d failed: %s",
>                   fd, strerror(errno));

The indentation looks weird, better to fix it.;)
More of the same elsewhere.

>           return -1;
>       }
>
>       if (s->ivshmem_size > buf.st_size) {
> -        fprintf(stderr,
> -                "IVSHMEM ERROR: Requested memory size greater"
> -                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
> +        error_report("Requested memory size greater"
> +                " than shared object size (%" PRIu64 " > %" PRIu64")",
>                   s->ivshmem_size, (uint64_t)buf.st_size);
>           return -1;
>       } else {
> @@ -510,7 +509,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>       incoming_fd = dup(tmp_fd);
>
>       if (incoming_fd == -1) {
> -        fprintf(stderr, "could not allocate file descriptor %s\n",
> +        error_report("could not allocate file descriptor %s",
>                                                               strerror(errno));
>           close(tmp_fd);
>           return;
> @@ -524,7 +523,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>           s->max_peer = 0;
>
>           if (check_shm_size(s, incoming_fd) == -1) {
> -            exit(-1);
> +            exit(1);
>           }
>
>           /* mmap the region and map into the BAR2 */
> @@ -618,13 +617,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
>               value <<= 30;
>               break;
>           default:
> -            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
> +            error_report("invalid ram size: %s", s->sizearg);
>               exit(1);
>       }
>
>       /* BARs must be a power of 2 */
>       if (!is_power_of_two(value)) {
> -        fprintf(stderr, "ivshmem: size must be power of 2\n");
> +        error_report("size must be power of 2");
>           exit(1);
>       }
>
> @@ -676,7 +675,7 @@ static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
>       }
>
>       if (proxy->role_val == IVSHMEM_PEER) {
> -        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
> +        error_report("'peer' devices are not migratable");
>           return -EINVAL;
>       }
>
> @@ -722,7 +721,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>       /* IRQFD requires MSI */
>       if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
>           !ivshmem_has_feature(s, IVSHMEM_MSI)) {
> -        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
> +        error_report("ioeventfd/irqfd requires MSI");
>           exit(1);
>       }
>
> @@ -733,7 +732,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>           } else if (strncmp(s->role, "master", 7) == 0) {
>               s->role_val = IVSHMEM_MASTER;
>           } else {
> -            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
> +            error_report("'role' must be 'peer' or 'master'");
>               exit(1);
>           }
>       } else {
> @@ -773,8 +772,8 @@ static int pci_ivshmem_init(PCIDevice *dev)
>            * to the ivshmem server to receive the memory region */
>
>           if (s->shmobj != NULL) {
> -            fprintf(stderr, "WARNING: do not specify both 'chardev' "
> -                                                "and 'shm' with ivshmem\n");
> +            error_report("WARNING: do not specify both 'chardev' "
> +                                                "and 'shm' with ivshmem");
>           }
>
>           IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
> @@ -802,7 +801,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>           int fd;
>
>           if (s->shmobj == NULL) {
> -            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
> +            error_report("Must specify 'chardev' or 'shm' to ivshmem");
>               exit(1);
>           }
>
> @@ -814,18 +813,18 @@ static int pci_ivshmem_init(PCIDevice *dev)
>                           S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
>              /* truncate file to length PCI device's memory */
>               if (ftruncate(fd, s->ivshmem_size) != 0) {
> -                fprintf(stderr, "ivshmem: could not truncate shared file\n");
> +                error_report("could not truncate shared file");
>               }
>
>           } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
>                           S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
> -            fprintf(stderr, "ivshmem: could not open shared file\n");
> -            exit(-1);
> +            error_report("could not open shared file");
> +            exit(1);
>
>           }
>
>           if (check_shm_size(s, fd) == -1) {
> -            exit(-1);
> +            exit(1);
>           }
>
>           create_shared_memory_BAR(s, fd);
>
Zhanghailiang Sept. 19, 2014, 8:42 a.m. UTC | #3
On 2014/9/19 15:34, zhanghailiang wrote:
> On 2014/9/19 7:17, Andrew Jones wrote:
>> Replace all the fprintf(stderr, ...) calls with error_report.
>> Also make sure exit() consistently uses the error code 1. A few calls
>> used -1.
>>
>> Signed-off-by: Andrew Jones <drjones@redhat.com>
>> ---
>>   hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
>>   1 file changed, 19 insertions(+), 20 deletions(-)
>>
>> diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
>> index bf585b7691998..b3983296f58fa 100644
>> --- a/hw/misc/ivshmem.c
>> +++ b/hw/misc/ivshmem.c
>> @@ -300,8 +300,8 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
>>       chr = qemu_chr_open_eventfd(eventfd);
>>
>>       if (chr == NULL) {
>> -        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
>> -        exit(-1);
>> +        error_report("creating eventfd for eventfd %d failed", eventfd);
>> +        exit(1);
>>       }
>>       qemu_chr_fe_claim_no_fail(chr);
>>
>> @@ -328,15 +328,14 @@ static int check_shm_size(IVShmemState *s, int fd) {
>>       struct stat buf;
>>
>>       if (fstat(fd, &buf) < 0) {
>> -        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
>> +        error_report("exiting: fstat on fd %d failed: %s",
>>                   fd, strerror(errno));
>
> The indentation looks weird, better to fix it.;)
> More of the same elsewhere.
>

Er, actually, maybe for print like function, it is no need to indent like other function.
So just ignore this comment, Sorry.;)

>>           return -1;
>>       }
>>
>>       if (s->ivshmem_size > buf.st_size) {
>> -        fprintf(stderr,
>> -                "IVSHMEM ERROR: Requested memory size greater"
>> -                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
>> +        error_report("Requested memory size greater"
>> +                " than shared object size (%" PRIu64 " > %" PRIu64")",
>>                   s->ivshmem_size, (uint64_t)buf.st_size);
>>           return -1;
>>       } else {
>> @@ -510,7 +509,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>>       incoming_fd = dup(tmp_fd);
>>
>>       if (incoming_fd == -1) {
>> -        fprintf(stderr, "could not allocate file descriptor %s\n",
>> +        error_report("could not allocate file descriptor %s",
>>                                                               strerror(errno));
>>           close(tmp_fd);
>>           return;
>> @@ -524,7 +523,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
>>           s->max_peer = 0;
>>
>>           if (check_shm_size(s, incoming_fd) == -1) {
>> -            exit(-1);
>> +            exit(1);
>>           }
>>
>>           /* mmap the region and map into the BAR2 */
>> @@ -618,13 +617,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
>>               value <<= 30;
>>               break;
>>           default:
>> -            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
>> +            error_report("invalid ram size: %s", s->sizearg);
>>               exit(1);
>>       }
>>
>>       /* BARs must be a power of 2 */
>>       if (!is_power_of_two(value)) {
>> -        fprintf(stderr, "ivshmem: size must be power of 2\n");
>> +        error_report("size must be power of 2");
>>           exit(1);
>>       }
>>
>> @@ -676,7 +675,7 @@ static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
>>       }
>>
>>       if (proxy->role_val == IVSHMEM_PEER) {
>> -        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
>> +        error_report("'peer' devices are not migratable");
>>           return -EINVAL;
>>       }
>>
>> @@ -722,7 +721,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>>       /* IRQFD requires MSI */
>>       if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
>>           !ivshmem_has_feature(s, IVSHMEM_MSI)) {
>> -        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
>> +        error_report("ioeventfd/irqfd requires MSI");
>>           exit(1);
>>       }
>>
>> @@ -733,7 +732,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>>           } else if (strncmp(s->role, "master", 7) == 0) {
>>               s->role_val = IVSHMEM_MASTER;
>>           } else {
>> -            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
>> +            error_report("'role' must be 'peer' or 'master'");
>>               exit(1);
>>           }
>>       } else {
>> @@ -773,8 +772,8 @@ static int pci_ivshmem_init(PCIDevice *dev)
>>            * to the ivshmem server to receive the memory region */
>>
>>           if (s->shmobj != NULL) {
>> -            fprintf(stderr, "WARNING: do not specify both 'chardev' "
>> -                                                "and 'shm' with ivshmem\n");
>> +            error_report("WARNING: do not specify both 'chardev' "
>> +                                                "and 'shm' with ivshmem");
>>           }
>>
>>           IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
>> @@ -802,7 +801,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
>>           int fd;
>>
>>           if (s->shmobj == NULL) {
>> -            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
>> +            error_report("Must specify 'chardev' or 'shm' to ivshmem");
>>               exit(1);
>>           }
>>
>> @@ -814,18 +813,18 @@ static int pci_ivshmem_init(PCIDevice *dev)
>>                           S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
>>              /* truncate file to length PCI device's memory */
>>               if (ftruncate(fd, s->ivshmem_size) != 0) {
>> -                fprintf(stderr, "ivshmem: could not truncate shared file\n");
>> +                error_report("could not truncate shared file");
>>               }
>>
>>           } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
>>                           S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
>> -            fprintf(stderr, "ivshmem: could not open shared file\n");
>> -            exit(-1);
>> +            error_report("could not open shared file");
>> +            exit(1);
>>
>>           }
>>
>>           if (check_shm_size(s, fd) == -1) {
>> -            exit(-1);
>> +            exit(1);
>>           }
>>
>>           create_shared_memory_BAR(s, fd);
>>
>
>
>
>
> .
>
Michael S. Tsirkin Sept. 22, 2014, 11:20 a.m. UTC | #4
On Fri, Sep 19, 2014 at 04:42:59PM +0800, zhanghailiang wrote:
> On 2014/9/19 15:34, zhanghailiang wrote:
> >On 2014/9/19 7:17, Andrew Jones wrote:
> >>Replace all the fprintf(stderr, ...) calls with error_report.
> >>Also make sure exit() consistently uses the error code 1. A few calls
> >>used -1.
> >>
> >>Signed-off-by: Andrew Jones <drjones@redhat.com>
> >>---
> >>  hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
> >>  1 file changed, 19 insertions(+), 20 deletions(-)
> >>
> >>diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> >>index bf585b7691998..b3983296f58fa 100644
> >>--- a/hw/misc/ivshmem.c
> >>+++ b/hw/misc/ivshmem.c
> >>@@ -300,8 +300,8 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
> >>      chr = qemu_chr_open_eventfd(eventfd);
> >>
> >>      if (chr == NULL) {
> >>-        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
> >>-        exit(-1);
> >>+        error_report("creating eventfd for eventfd %d failed", eventfd);
> >>+        exit(1);
> >>      }
> >>      qemu_chr_fe_claim_no_fail(chr);
> >>
> >>@@ -328,15 +328,14 @@ static int check_shm_size(IVShmemState *s, int fd) {
> >>      struct stat buf;
> >>
> >>      if (fstat(fd, &buf) < 0) {
> >>-        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
> >>+        error_report("exiting: fstat on fd %d failed: %s",
> >>                  fd, strerror(errno));
> >
> >The indentation looks weird, better to fix it.;)
> >More of the same elsewhere.
> >
> 
> Er, actually, maybe for print like function, it is no need to indent like other function.
> So just ignore this comment, Sorry.;)


No, I agree with the original comment.
Please indent continuation lines to the right of the opening (,
here and elsewhere.


> >>          return -1;
> >>      }
> >>
> >>      if (s->ivshmem_size > buf.st_size) {
> >>-        fprintf(stderr,
> >>-                "IVSHMEM ERROR: Requested memory size greater"
> >>-                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
> >>+        error_report("Requested memory size greater"
> >>+                " than shared object size (%" PRIu64 " > %" PRIu64")",
> >>                  s->ivshmem_size, (uint64_t)buf.st_size);
> >>          return -1;
> >>      } else {
> >>@@ -510,7 +509,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
> >>      incoming_fd = dup(tmp_fd);
> >>
> >>      if (incoming_fd == -1) {
> >>-        fprintf(stderr, "could not allocate file descriptor %s\n",
> >>+        error_report("could not allocate file descriptor %s",
> >>                                                              strerror(errno));
> >>          close(tmp_fd);
> >>          return;
> >>@@ -524,7 +523,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
> >>          s->max_peer = 0;
> >>
> >>          if (check_shm_size(s, incoming_fd) == -1) {
> >>-            exit(-1);
> >>+            exit(1);
> >>          }
> >>
> >>          /* mmap the region and map into the BAR2 */
> >>@@ -618,13 +617,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
> >>              value <<= 30;
> >>              break;
> >>          default:
> >>-            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
> >>+            error_report("invalid ram size: %s", s->sizearg);
> >>              exit(1);
> >>      }
> >>
> >>      /* BARs must be a power of 2 */
> >>      if (!is_power_of_two(value)) {
> >>-        fprintf(stderr, "ivshmem: size must be power of 2\n");
> >>+        error_report("size must be power of 2");
> >>          exit(1);
> >>      }
> >>
> >>@@ -676,7 +675,7 @@ static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
> >>      }
> >>
> >>      if (proxy->role_val == IVSHMEM_PEER) {
> >>-        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
> >>+        error_report("'peer' devices are not migratable");
> >>          return -EINVAL;
> >>      }
> >>
> >>@@ -722,7 +721,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> >>      /* IRQFD requires MSI */
> >>      if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
> >>          !ivshmem_has_feature(s, IVSHMEM_MSI)) {
> >>-        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
> >>+        error_report("ioeventfd/irqfd requires MSI");
> >>          exit(1);
> >>      }
> >>
> >>@@ -733,7 +732,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> >>          } else if (strncmp(s->role, "master", 7) == 0) {
> >>              s->role_val = IVSHMEM_MASTER;
> >>          } else {
> >>-            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
> >>+            error_report("'role' must be 'peer' or 'master'");
> >>              exit(1);
> >>          }
> >>      } else {
> >>@@ -773,8 +772,8 @@ static int pci_ivshmem_init(PCIDevice *dev)
> >>           * to the ivshmem server to receive the memory region */
> >>
> >>          if (s->shmobj != NULL) {
> >>-            fprintf(stderr, "WARNING: do not specify both 'chardev' "
> >>-                                                "and 'shm' with ivshmem\n");
> >>+            error_report("WARNING: do not specify both 'chardev' "
> >>+                                                "and 'shm' with ivshmem");
> >>          }
> >>
> >>          IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
> >>@@ -802,7 +801,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> >>          int fd;
> >>
> >>          if (s->shmobj == NULL) {
> >>-            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
> >>+            error_report("Must specify 'chardev' or 'shm' to ivshmem");
> >>              exit(1);
> >>          }
> >>
> >>@@ -814,18 +813,18 @@ static int pci_ivshmem_init(PCIDevice *dev)
> >>                          S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
> >>             /* truncate file to length PCI device's memory */
> >>              if (ftruncate(fd, s->ivshmem_size) != 0) {
> >>-                fprintf(stderr, "ivshmem: could not truncate shared file\n");
> >>+                error_report("could not truncate shared file");
> >>              }
> >>
> >>          } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
> >>                          S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
> >>-            fprintf(stderr, "ivshmem: could not open shared file\n");
> >>-            exit(-1);
> >>+            error_report("could not open shared file");
> >>+            exit(1);
> >>
> >>          }
> >>
> >>          if (check_shm_size(s, fd) == -1) {
> >>-            exit(-1);
> >>+            exit(1);
> >>          }
> >>
> >>          create_shared_memory_BAR(s, fd);
> >>
> >
> >
> >
> >
> >.
> >
>
Andrew Jones Oct. 7, 2014, 11:02 a.m. UTC | #5
On Mon, Sep 22, 2014 at 02:20:09PM +0300, Michael S. Tsirkin wrote:
> On Fri, Sep 19, 2014 at 04:42:59PM +0800, zhanghailiang wrote:
> > On 2014/9/19 15:34, zhanghailiang wrote:
> > >On 2014/9/19 7:17, Andrew Jones wrote:
> > >>Replace all the fprintf(stderr, ...) calls with error_report.
> > >>Also make sure exit() consistently uses the error code 1. A few calls
> > >>used -1.
> > >>
> > >>Signed-off-by: Andrew Jones <drjones@redhat.com>
> > >>---
> > >>  hw/misc/ivshmem.c | 39 +++++++++++++++++++--------------------
> > >>  1 file changed, 19 insertions(+), 20 deletions(-)
> > >>
> > >>diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
> > >>index bf585b7691998..b3983296f58fa 100644
> > >>--- a/hw/misc/ivshmem.c
> > >>+++ b/hw/misc/ivshmem.c
> > >>@@ -300,8 +300,8 @@ static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
> > >>      chr = qemu_chr_open_eventfd(eventfd);
> > >>
> > >>      if (chr == NULL) {
> > >>-        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
> > >>-        exit(-1);
> > >>+        error_report("creating eventfd for eventfd %d failed", eventfd);
> > >>+        exit(1);
> > >>      }
> > >>      qemu_chr_fe_claim_no_fail(chr);
> > >>
> > >>@@ -328,15 +328,14 @@ static int check_shm_size(IVShmemState *s, int fd) {
> > >>      struct stat buf;
> > >>
> > >>      if (fstat(fd, &buf) < 0) {
> > >>-        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
> > >>+        error_report("exiting: fstat on fd %d failed: %s",
> > >>                  fd, strerror(errno));
> > >
> > >The indentation looks weird, better to fix it.;)
> > >More of the same elsewhere.
> > >
> > 
> > Er, actually, maybe for print like function, it is no need to indent like other function.
> > So just ignore this comment, Sorry.;)
> 
> 
> No, I agree with the original comment.
> Please indent continuation lines to the right of the opening (,
> here and elsewhere.

OK, sending a v3.

drew

> 
> 
> > >>          return -1;
> > >>      }
> > >>
> > >>      if (s->ivshmem_size > buf.st_size) {
> > >>-        fprintf(stderr,
> > >>-                "IVSHMEM ERROR: Requested memory size greater"
> > >>-                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
> > >>+        error_report("Requested memory size greater"
> > >>+                " than shared object size (%" PRIu64 " > %" PRIu64")",
> > >>                  s->ivshmem_size, (uint64_t)buf.st_size);
> > >>          return -1;
> > >>      } else {
> > >>@@ -510,7 +509,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
> > >>      incoming_fd = dup(tmp_fd);
> > >>
> > >>      if (incoming_fd == -1) {
> > >>-        fprintf(stderr, "could not allocate file descriptor %s\n",
> > >>+        error_report("could not allocate file descriptor %s",
> > >>                                                              strerror(errno));
> > >>          close(tmp_fd);
> > >>          return;
> > >>@@ -524,7 +523,7 @@ static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
> > >>          s->max_peer = 0;
> > >>
> > >>          if (check_shm_size(s, incoming_fd) == -1) {
> > >>-            exit(-1);
> > >>+            exit(1);
> > >>          }
> > >>
> > >>          /* mmap the region and map into the BAR2 */
> > >>@@ -618,13 +617,13 @@ static uint64_t ivshmem_get_size(IVShmemState * s) {
> > >>              value <<= 30;
> > >>              break;
> > >>          default:
> > >>-            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
> > >>+            error_report("invalid ram size: %s", s->sizearg);
> > >>              exit(1);
> > >>      }
> > >>
> > >>      /* BARs must be a power of 2 */
> > >>      if (!is_power_of_two(value)) {
> > >>-        fprintf(stderr, "ivshmem: size must be power of 2\n");
> > >>+        error_report("size must be power of 2");
> > >>          exit(1);
> > >>      }
> > >>
> > >>@@ -676,7 +675,7 @@ static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
> > >>      }
> > >>
> > >>      if (proxy->role_val == IVSHMEM_PEER) {
> > >>-        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
> > >>+        error_report("'peer' devices are not migratable");
> > >>          return -EINVAL;
> > >>      }
> > >>
> > >>@@ -722,7 +721,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> > >>      /* IRQFD requires MSI */
> > >>      if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
> > >>          !ivshmem_has_feature(s, IVSHMEM_MSI)) {
> > >>-        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
> > >>+        error_report("ioeventfd/irqfd requires MSI");
> > >>          exit(1);
> > >>      }
> > >>
> > >>@@ -733,7 +732,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> > >>          } else if (strncmp(s->role, "master", 7) == 0) {
> > >>              s->role_val = IVSHMEM_MASTER;
> > >>          } else {
> > >>-            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
> > >>+            error_report("'role' must be 'peer' or 'master'");
> > >>              exit(1);
> > >>          }
> > >>      } else {
> > >>@@ -773,8 +772,8 @@ static int pci_ivshmem_init(PCIDevice *dev)
> > >>           * to the ivshmem server to receive the memory region */
> > >>
> > >>          if (s->shmobj != NULL) {
> > >>-            fprintf(stderr, "WARNING: do not specify both 'chardev' "
> > >>-                                                "and 'shm' with ivshmem\n");
> > >>+            error_report("WARNING: do not specify both 'chardev' "
> > >>+                                                "and 'shm' with ivshmem");
> > >>          }
> > >>
> > >>          IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
> > >>@@ -802,7 +801,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
> > >>          int fd;
> > >>
> > >>          if (s->shmobj == NULL) {
> > >>-            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
> > >>+            error_report("Must specify 'chardev' or 'shm' to ivshmem");
> > >>              exit(1);
> > >>          }
> > >>
> > >>@@ -814,18 +813,18 @@ static int pci_ivshmem_init(PCIDevice *dev)
> > >>                          S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
> > >>             /* truncate file to length PCI device's memory */
> > >>              if (ftruncate(fd, s->ivshmem_size) != 0) {
> > >>-                fprintf(stderr, "ivshmem: could not truncate shared file\n");
> > >>+                error_report("could not truncate shared file");
> > >>              }
> > >>
> > >>          } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
> > >>                          S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
> > >>-            fprintf(stderr, "ivshmem: could not open shared file\n");
> > >>-            exit(-1);
> > >>+            error_report("could not open shared file");
> > >>+            exit(1);
> > >>
> > >>          }
> > >>
> > >>          if (check_shm_size(s, fd) == -1) {
> > >>-            exit(-1);
> > >>+            exit(1);
> > >>          }
> > >>
> > >>          create_shared_memory_BAR(s, fd);
> > >>
> > >
> > >
> > >
> > >
> > >.
> > >
> > 
>
diff mbox

Patch

diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c
index bf585b7691998..b3983296f58fa 100644
--- a/hw/misc/ivshmem.c
+++ b/hw/misc/ivshmem.c
@@ -300,8 +300,8 @@  static CharDriverState* create_eventfd_chr_device(void * opaque, EventNotifier *
     chr = qemu_chr_open_eventfd(eventfd);
 
     if (chr == NULL) {
-        fprintf(stderr, "creating eventfd for eventfd %d failed\n", eventfd);
-        exit(-1);
+        error_report("creating eventfd for eventfd %d failed", eventfd);
+        exit(1);
     }
     qemu_chr_fe_claim_no_fail(chr);
 
@@ -328,15 +328,14 @@  static int check_shm_size(IVShmemState *s, int fd) {
     struct stat buf;
 
     if (fstat(fd, &buf) < 0) {
-        fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n",
+        error_report("exiting: fstat on fd %d failed: %s",
                 fd, strerror(errno));
         return -1;
     }
 
     if (s->ivshmem_size > buf.st_size) {
-        fprintf(stderr,
-                "IVSHMEM ERROR: Requested memory size greater"
-                " than shared object size (%" PRIu64 " > %" PRIu64")\n",
+        error_report("Requested memory size greater"
+                " than shared object size (%" PRIu64 " > %" PRIu64")",
                 s->ivshmem_size, (uint64_t)buf.st_size);
         return -1;
     } else {
@@ -510,7 +509,7 @@  static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
     incoming_fd = dup(tmp_fd);
 
     if (incoming_fd == -1) {
-        fprintf(stderr, "could not allocate file descriptor %s\n",
+        error_report("could not allocate file descriptor %s",
                                                             strerror(errno));
         close(tmp_fd);
         return;
@@ -524,7 +523,7 @@  static void ivshmem_read(void *opaque, const uint8_t *buf, int size)
         s->max_peer = 0;
 
         if (check_shm_size(s, incoming_fd) == -1) {
-            exit(-1);
+            exit(1);
         }
 
         /* mmap the region and map into the BAR2 */
@@ -618,13 +617,13 @@  static uint64_t ivshmem_get_size(IVShmemState * s) {
             value <<= 30;
             break;
         default:
-            fprintf(stderr, "qemu: invalid ram size: %s\n", s->sizearg);
+            error_report("invalid ram size: %s", s->sizearg);
             exit(1);
     }
 
     /* BARs must be a power of 2 */
     if (!is_power_of_two(value)) {
-        fprintf(stderr, "ivshmem: size must be power of 2\n");
+        error_report("size must be power of 2");
         exit(1);
     }
 
@@ -676,7 +675,7 @@  static int ivshmem_load(QEMUFile* f, void *opaque, int version_id)
     }
 
     if (proxy->role_val == IVSHMEM_PEER) {
-        fprintf(stderr, "ivshmem: 'peer' devices are not migratable\n");
+        error_report("'peer' devices are not migratable");
         return -EINVAL;
     }
 
@@ -722,7 +721,7 @@  static int pci_ivshmem_init(PCIDevice *dev)
     /* IRQFD requires MSI */
     if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&
         !ivshmem_has_feature(s, IVSHMEM_MSI)) {
-        fprintf(stderr, "ivshmem: ioeventfd/irqfd requires MSI\n");
+        error_report("ioeventfd/irqfd requires MSI");
         exit(1);
     }
 
@@ -733,7 +732,7 @@  static int pci_ivshmem_init(PCIDevice *dev)
         } else if (strncmp(s->role, "master", 7) == 0) {
             s->role_val = IVSHMEM_MASTER;
         } else {
-            fprintf(stderr, "ivshmem: 'role' must be 'peer' or 'master'\n");
+            error_report("'role' must be 'peer' or 'master'");
             exit(1);
         }
     } else {
@@ -773,8 +772,8 @@  static int pci_ivshmem_init(PCIDevice *dev)
          * to the ivshmem server to receive the memory region */
 
         if (s->shmobj != NULL) {
-            fprintf(stderr, "WARNING: do not specify both 'chardev' "
-                                                "and 'shm' with ivshmem\n");
+            error_report("WARNING: do not specify both 'chardev' "
+                                                "and 'shm' with ivshmem");
         }
 
         IVSHMEM_DPRINTF("using shared memory server (socket = %s)\n",
@@ -802,7 +801,7 @@  static int pci_ivshmem_init(PCIDevice *dev)
         int fd;
 
         if (s->shmobj == NULL) {
-            fprintf(stderr, "Must specify 'chardev' or 'shm' to ivshmem\n");
+            error_report("Must specify 'chardev' or 'shm' to ivshmem");
             exit(1);
         }
 
@@ -814,18 +813,18 @@  static int pci_ivshmem_init(PCIDevice *dev)
                         S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {
            /* truncate file to length PCI device's memory */
             if (ftruncate(fd, s->ivshmem_size) != 0) {
-                fprintf(stderr, "ivshmem: could not truncate shared file\n");
+                error_report("could not truncate shared file");
             }
 
         } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,
                         S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {
-            fprintf(stderr, "ivshmem: could not open shared file\n");
-            exit(-1);
+            error_report("could not open shared file");
+            exit(1);
 
         }
 
         if (check_shm_size(s, fd) == -1) {
-            exit(-1);
+            exit(1);
         }
 
         create_shared_memory_BAR(s, fd);