public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Parav Pandit <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: "dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
	<hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org"
	<swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>,
	"pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
	<pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Moni Shoua <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Mark Bloch <markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"don.hiatt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<don.hiatt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org"
	<dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Majd Dibbiny <majd-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	"arnd-r2nGTMty4D4@public.gmane.org"
	<arnd-r2nGTMty4D4@public.gmane.org>,
	"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] IB/core: Make function rdma_copy_addr return void
Date: Mon, 6 Nov 2017 12:36:43 +0200	[thread overview]
Message-ID: <20171106103642.GA2823@yuvallap> (raw)
In-Reply-To: <VI1PR0502MB30083B5B521025DA45BF3E63D1530-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>

On Sun, Nov 05, 2017 at 09:52:16PM +0000, Parav Pandit wrote:
> Hi Yuval,
> 
> > -----Original Message-----
> > From: Yuval Shaia [mailto:yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org]
> > Sent: Sunday, November 05, 2017 3:08 PM
> > To: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org; sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org;
> > Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>; swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org;
> > pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org; johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; Moni Shoua
> > <monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>; yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org; Parav Pandit
> > <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>; Mark Bloch <markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>;
> > ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; don.hiatt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org;
> > dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; Majd Dibbiny
> > <majd-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>; arnd-r2nGTMty4D4@public.gmane.org; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > Subject: [PATCH] IB/core: Make function rdma_copy_addr return void
> > 
> > Function returns zero - make it void.
> > 
> > Signed-off-by: Yuval Shaia <yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
> > ---
> >  drivers/infiniband/core/addr.c | 25 +++++++++++++------------
> > drivers/infiniband/core/cma.c  |  8 ++------
> >  include/rdma/ib_addr.h         |  4 ++--
> >  3 files changed, 17 insertions(+), 20 deletions(-)
> > 
> > diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index
> > 12523f630b61..f14ee741e6f0 100644
> > --- a/drivers/infiniband/core/addr.c
> > +++ b/drivers/infiniband/core/addr.c
> > @@ -229,8 +229,8 @@ void rdma_addr_unregister_client(struct
> > rdma_addr_client *client)  }  EXPORT_SYMBOL(rdma_addr_unregister_client);
> > 
> > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > -		     const unsigned char *dst_dev_addr)
> > +void rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device
> > *dev,
> > +		    const unsigned char *dst_dev_addr)
> >  {
> >  	dev_addr->dev_type = dev->type;
> >  	memcpy(dev_addr->src_dev_addr, dev->dev_addr, MAX_ADDR_LEN);
> > @@ -238,7 +238,6 @@ int rdma_copy_addr(struct rdma_dev_addr *dev_addr,
> > struct net_device *dev,
> >  	if (dst_dev_addr)
> >  		memcpy(dev_addr->dst_dev_addr, dst_dev_addr,
> > MAX_ADDR_LEN);
> >  	dev_addr->bound_dev_if = dev->ifindex;
> > -	return 0;
> >  }
> >  EXPORT_SYMBOL(rdma_copy_addr);
> > 
> > @@ -247,15 +246,14 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  		      u16 *vlan_id)
> >  {
> >  	struct net_device *dev;
> > -	int ret = -EADDRNOTAVAIL;
> > 
> >  	if (dev_addr->bound_dev_if) {
> >  		dev = dev_get_by_index(dev_addr->net, dev_addr-
> > >bound_dev_if);
> >  		if (!dev)
> >  			return -ENODEV;
> > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +		rdma_copy_addr(dev_addr, dev, NULL);
> >  		dev_put(dev);
> > -		return ret;
> > +		return 0;
> >  	}
> > 
> >  	switch (addr->sa_family) {
> > @@ -264,9 +262,9 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  			((const struct sockaddr_in *)addr)->sin_addr.s_addr);
> > 
> >  		if (!dev)
> > -			return ret;
> > +			return -EADDRNOTAVAIL;
> > 
> > -		ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +		rdma_copy_addr(dev_addr, dev, NULL);
> >  		dev_addr->bound_dev_if = dev->ifindex;
> >  		if (vlan_id)
> >  			*vlan_id = rdma_vlan_dev_vlan_id(dev); @@ -279,7
> > +277,7 @@ int rdma_translate_ip(const struct sockaddr *addr,
> >  			if (ipv6_chk_addr(dev_addr->net,
> >  					  &((const struct sockaddr_in6 *)addr)-
> > >sin6_addr,
> >  					  dev, 1)) {
> > -				ret = rdma_copy_addr(dev_addr, dev, NULL);
> > +				rdma_copy_addr(dev_addr, dev, NULL);
> >  				dev_addr->bound_dev_if = dev->ifindex;
> >  				if (vlan_id)
> >  					*vlan_id =
> > rdma_vlan_dev_vlan_id(dev); @@ -290,7 +288,7 @@ int
> > rdma_translate_ip(const struct sockaddr *addr,
> >  		break;
> >  #endif
> >  	}
> > -	return ret;
> > +	return 0;
> >  }
> >  EXPORT_SYMBOL(rdma_translate_ip);
> > 
> > @@ -346,7 +344,8 @@ static int dst_fetch_ha(struct dst_entry *dst, struct
> > rdma_dev_addr *dev_addr,
> >  			neigh_event_send(n, NULL);
> >  		ret = -ENODATA;
> >  	} else {
> > -		ret = rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > +		rdma_copy_addr(dev_addr, dst->dev, n->ha);
> > +		ret = 0;
> >  	}
> >  	rcu_read_unlock();
> > 
> > @@ -494,7 +493,9 @@ static int addr_resolve_neigh(struct dst_entry *dst,
> >  	if (!(dst->dev->flags & IFF_NOARP))
> >  		return fetch_ha(dst, addr, dst_in, seq);
> > 
> > -	return rdma_copy_addr(addr, dst->dev, NULL);
> > +	rdma_copy_addr(addr, dst->dev, NULL);
> > +
> > +	return 0;
> >  }
> > 
> >  static int addr_resolve(struct sockaddr *src_in, diff --git
> > a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index
> > 852c8fec8088..0527a6a7ef26 100644
> > --- a/drivers/infiniband/core/cma.c
> > +++ b/drivers/infiniband/core/cma.c
> > @@ -1846,9 +1846,7 @@ static struct rdma_id_private
> > *cma_new_conn_id(struct rdma_cm_id *listen_id,
> >  		rt->path_rec[1] = *ib_event->param.req_rcvd.alternate_path;
> > 
> >  	if (net_dev) {
> > -		ret = rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> > -		if (ret)
> > -			goto err;
> > +		rdma_copy_addr(&rt->addr.dev_addr, net_dev, NULL);
> >  	} else {
> >  		if (!cma_protocol_roce(listen_id) &&
> >  		    cma_any_addr(cma_src_addr(id_priv))) { @@ -1894,9
> > +1892,7 @@ static struct rdma_id_private *cma_new_udp_id(struct
> > rdma_cm_id *listen_id,
> >  		goto err;
> > 
> >  	if (net_dev) {
> > -		ret = rdma_copy_addr(&id->route.addr.dev_addr, net_dev,
> > NULL);
> > -		if (ret)
> > -			goto err;
> > +		rdma_copy_addr(&id->route.addr.dev_addr, net_dev, NULL);
> >  	} else {
> >  		if (!cma_any_addr(cma_src_addr(id_priv))) {
> >  			ret = cma_translate_addr(cma_src_addr(id_priv),
> > diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index
> > ec5008cf5d51..5647f3932ffe 100644
> > --- a/include/rdma/ib_addr.h
> > +++ b/include/rdma/ib_addr.h
> > @@ -125,8 +125,8 @@ int rdma_resolve_ip_route(struct sockaddr *src_addr,
> > 
> >  void rdma_addr_cancel(struct rdma_dev_addr *addr);
> > 
> > -int rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device *dev,
> > -	      const unsigned char *dst_dev_addr);
> > +void rdma_copy_addr(struct rdma_dev_addr *dev_addr, struct net_device
> > *dev,
> > +		    const unsigned char *dst_dev_addr);
> 
> Few days back, Moni had exact same suggestion on internal patch of mine where I am simplifying rdma_translate_ip do avoid bound_dev_if double copy, which is now in Leon's queue currently.
> I wanted to do error handling in copy address and I was unsure back at that time.
> But this looks fine. This note for mainly for Moni than you.
> 
> This patch looks fine.
> However since you are changing rdma_copy_addr signature,
> can you also make rdma_copy_addr from 'struct net_device' to 'const struct net_device *'?

Make sense, will do.

Yuval
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

      parent reply	other threads:[~2017-11-06 10:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-05 21:08 [PATCH] IB/core: Make function rdma_copy_addr return void Yuval Shaia
     [not found] ` <20171105210817.17673-1-yuval.shaia-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2017-11-05 21:52   ` Parav Pandit
     [not found]     ` <VI1PR0502MB30083B5B521025DA45BF3E63D1530-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-11-06 10:36       ` Yuval Shaia [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=20171106103642.GA2823@yuvallap \
    --to=yuval.shaia-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=don.hiatt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=majd-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=monis-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=pabeni-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \
    /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