> On 7/12/15 8:05 AM, William Allen Simpson wrote:
> 
> Noting that I've had for some weeks (Jun 19) a replacement for
> SVC_RELEASE() that uses an inline function instead.
> Coverity seems to be better with inline, so this will probably go away on its
> own.
> 
> That patch happens to be called:
> "Convert svc_destroy and references to inline atomics"
> 
> Eliminates a dozen of the most common transport [un]lock pairs.
> 
> Also uses atomic to set xp_flags.
> 
> Frank, do we want it this week?  This is another we need for speed, and will
> need lots of testing.
> 
> 
> >> ** CID 124492:  Program hangs  (LOCK)
> >> /nfs-ganesha/src/libntirpc/src/svc_ioq.c: 206 in svc_ioq_callback()
> >>
> > False positive.  Somebody needs to teach Coverity to expand macros.
> >
> Probably not just expand macros, but check call vectors.  May be too hard for
> it....

Coverity is unable to track these flags that control lock/unlock. Inline 
doesn't help it any.

I always mark these as intentional and move on.

Coverity may log a new issue when you make it inline...

Frank

> >> *** CID 124492:  Program hangs  (LOCK)
> >> /nfs-ganesha/src/libntirpc/src/svc_ioq.c: 206 in svc_ioq_callback()
> >> 200         for (;;) {
> >> 201             mutex_lock(&xprt->xp_lock);
> >> 202             have = TAILQ_FIRST(&xd->shared.ioq.qh);
> >> 203             if (unlikely(!have || !svc_work_pool.params.thrd_max)) {
> >> 204                 xd->shared.active = false;
> >> 205                 SVC_RELEASE(xprt, SVC_RELEASE_FLAG_LOCKED);
> >>>>>      CID 124492:  Program hangs  (LOCK)
> >>>>>      Returning without unlocking "xprt->xp_lock".
> >> 206                 return;
> >> 207             }
> >> 208
> >> 209             TAILQ_REMOVE(&xd->shared.ioq.qh, have, q);
> >> 210             (xd->shared.ioq.qcount)--;
> >> 211             /* do i/o unlocked */


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to