qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: zhanghailiang <zhang.zhanghailiang@huawei.com>,
	afaerber@suse.de, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2] ivshmem: use error_report
Date: Tue, 7 Oct 2014 13:02:58 +0200	[thread overview]
Message-ID: <20141007110257.GB14840@hawk.usersys.redhat.com> (raw)
In-Reply-To: <20140922112009.GC14882@redhat.com>

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);
> > >>
> > >
> > >
> > >
> > >
> > >.
> > >
> > 
> 

      reply	other threads:[~2014-10-07 11:03 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-18 23:17 [Qemu-devel] [PATCH v2] ivshmem: use error_report Andrew Jones
2014-09-19  7:18 ` David Marchand
2014-09-19  7:34 ` zhanghailiang
2014-09-19  8:42   ` zhanghailiang
2014-09-22 11:20     ` Michael S. Tsirkin
2014-10-07 11:02       ` Andrew Jones [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141007110257.GB14840@hawk.usersys.redhat.com \
    --to=drjones@redhat.com \
    --cc=afaerber@suse.de \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).