qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Bharata B Rao <bharata@linux.vnet.ibm.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	Anand Avati <aavati@redhat.com>,
	Vijay Bellur <vbellur@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Amar Tumballi <amarts@redhat.com>,
	qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Blue Swirl <blauwirbel@gmail.com>, Avi Kivity <avi@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v7 5/5] block: Support GlusterFS as a QEMU block backend.
Date: Thu, 20 Sep 2012 12:11:14 +0530	[thread overview]
Message-ID: <20120920064114.GD5873@in.ibm.com> (raw)
In-Reply-To: <50587ED6.9040504@redhat.com>

On Tue, Sep 18, 2012 at 04:01:58PM +0200, Kevin Wolf wrote:
> > +
> > +#define GLUSTER_TRANSPORT_DEFAULT        "gluster://"
> > +#define GLUSTER_TRANSPORT_DEFAULT_SZ     strlen(GLUSTER_TRANSPORT_DEFAULT)
> > +#define GLUSTER_TRANSPORT_TCP            "gluster+tcp://"
> > +#define GLUSTER_TRANSPORT_TCP_SZ         strlen(GLUSTER_TRANSPORT_TCP)
> > +#define GLUSTER_TRANSPORT_UNIX           "gluster+unix://"
> > +#define GLUSTER_TRANSPORT_UNIX_SZ        strlen(GLUSTER_TRANSPORT_UNIX)
> > +#define GLUSTER_TRANSPORT_RDMA           "gluster+rdma://"
> > +#define GLUSTER_TRANSPORT_RDMA_SZ        strlen(GLUSTER_TRANSPORT_RDMA)
> > +
> > +
> > +static int parse_gluster_spec(GlusterURI *uri, char *spec)
> > +{
> > +    char *token, *saveptr;
> > +    int ret;
> > +    QemuOpts *opts;
> > +    char *p, *q;
> > +
> > +    /* transport */
> > +    p = spec;
> > +    if (!strncmp(p, GLUSTER_TRANSPORT_DEFAULT, GLUSTER_TRANSPORT_DEFAULT_SZ)) {
> > +        uri->transport = g_strdup("tcp");
> > +        p += GLUSTER_TRANSPORT_DEFAULT_SZ;
> > +    } else if (!strncmp(p, GLUSTER_TRANSPORT_TCP, GLUSTER_TRANSPORT_TCP_SZ)) {
> > +        uri->transport = g_strdup("tcp");
> > +        p += GLUSTER_TRANSPORT_TCP_SZ;
> > +    } else if (!strncmp(p, GLUSTER_TRANSPORT_UNIX, GLUSTER_TRANSPORT_UNIX_SZ)) {
> > +        uri->transport = g_strdup("unix");
> > +        p += GLUSTER_TRANSPORT_UNIX_SZ;
> > +    } else if (!strncmp(p, GLUSTER_TRANSPORT_RDMA, GLUSTER_TRANSPORT_RDMA_SZ)) {
> 
> Would look a bit nicer with strstart() form cutils.c instead of strncmp().

strstart() works with const char pointers, but I have char pointers here
which I need to modify.

> > +static int qemu_gluster_parseuri(GlusterURI *uri, const char *filename)
> > +{
> > +    char *token, *saveptr;
> > +    char *p, *q, *gluster_spec = NULL;
> > +    int ret = -EINVAL;
> > +
> > +    p = q = g_strdup(filename);
> 
> Neither p nor q are changed, so one variable would be enough.

Right, will fix.

> 
> > +
> > +    /* Extract server, volname and image */
> > +    token = strtok_r(p, "?", &saveptr);
> > +    if (!token) {
> > +        goto out;
> > +    }
> > +    gluster_spec = g_strdup(token);
> > +
> > +    /* socket */
> > +    token = strtok_r(NULL, "?", &saveptr);
> > +    ret = parse_socket(uri, token);
> > +    if (ret < 0) {
> > +        goto out;
> > +     }
> 
> The is_unix thing feels a bit backwards. You set it whenever an option
> is present, and fail if a protocol other than gluster+unix:// is used.
> 
> Wouldn't it make more sense to set it depending on the protocol and then
> check in the option parser if is_unix == true when there is a 'socket'
> option? Otherwise adding non-unix options later is going to become hard.

I see your point, will change this.

> 
> The rest looks good now.

Thanks for the review.

Regards,
Bharata.

  reply	other threads:[~2012-09-20  6:39 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-17 15:21 [Qemu-devel] [RFC v7 0/5] GlusterFS support in QEMU - v7 Bharata B Rao
2012-09-17 15:22 ` [Qemu-devel] [PATCH v7 1/5] sockets: Make inet_parse() non static Bharata B Rao
2012-09-18 12:47   ` Kevin Wolf
2012-09-18 12:57     ` Paolo Bonzini
2012-09-20  5:57       ` Bharata B Rao
2012-09-17 15:23 ` [Qemu-devel] [PATCH v7 2/5] sockets: Change inet_parse() to accept address specification without port Bharata B Rao
2012-09-18 13:22   ` Kevin Wolf
2012-09-18 13:31     ` Paolo Bonzini
2012-09-18 14:08       ` Kevin Wolf
2012-09-20  6:30         ` Bharata B Rao
2012-09-20  6:51           ` Kevin Wolf
2012-09-17 15:24 ` [Qemu-devel] [PATCH v7 3/5] aio: Fix qemu_aio_wait() to maintain correct walking_handlers count Bharata B Rao
2012-09-17 15:25 ` [Qemu-devel] [PATCH v7 4/5] configure: Add a config option for GlusterFS as block backend Bharata B Rao
2012-09-17 15:26 ` [Qemu-devel] [PATCH v7 5/5] block: Support GlusterFS as a QEMU " Bharata B Rao
2012-09-18 14:01   ` Kevin Wolf
2012-09-20  6:41     ` Bharata B Rao [this message]
2012-09-20  7:53       ` Paolo Bonzini
2012-09-20  8:20         ` Paolo Bonzini
2012-09-20  9:12           ` Bharata B Rao
2012-09-20  9:14             ` Paolo Bonzini
2012-09-20  9:34             ` Kevin Wolf
2012-09-20 15:08               ` Paolo Bonzini
2012-09-21  3:50                 ` Bharata B Rao
2012-09-21  8:23                   ` Paolo Bonzini

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=20120920064114.GD5873@in.ibm.com \
    --to=bharata@linux.vnet.ibm.com \
    --cc=aavati@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=amarts@redhat.com \
    --cc=armbru@redhat.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=vbellur@redhat.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).