Re: [PATCH libmlx5] fix err return values to match ibv_post_send expectations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 08, 2016 at 10:30:18AM -0600, Jason Gunthorpe wrote:
> On Sat, Aug 06, 2016 at 02:48:23PM -0400, Jarod Wilson wrote:
> > On Fri, Aug 05, 2016 at 12:01:07PM -0600, Jason Gunthorpe wrote:
> > > On Fri, Aug 05, 2016 at 01:33:59PM -0400, Jarod Wilson wrote:
> > > > -	return _mlx5_post_send(ibqp, wr, bad_wr);
> > > > +	errno = _mlx5_post_send(ibqp, wr, bad_wr);
> > > > +	return errno;
> > > 
> > > Why still set errno? It was wrong in the first place..
> > > 
> > > Likely every use of errno in this provider should be reviewed.
> > 
> > Wasn't sure if something else might actually consume errno elsewhere,
> > since it's a global, and the other code path in that function set errno.
> > Could certainly just stick with returning the _mlx5_post_send() result
> > directly.
> 
> If the man page doesn't document the function destroying errno, then
> it should preserve it. Do not just randomly set errno.

$ man ibv_post_send
...
RETURN VALUE
       ibv_post_send() returns 0 on success, or the value of errno on
       failure (which indicates the failure reason).
...

This is a little bit terse, but looks to me like it means to say do set
errno in ibv_post_send. I really am not terribly familiar with this code
though, so I have no idea for sure if my interpretation is correct. Looks
like libmlx4 does NOT twiddle errno though. I can certainly update the
patch if consensus is that errno shouldn't be touched. Looks like
mlx5_post_send() will need some additional work as well if that's the case
though.

-- 
Jarod Wilson
jarod@xxxxxxxxxx

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



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux