Return-Path: linux-nfs-owner@vger.kernel.org Received: from fieldses.org ([174.143.236.118]:50076 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755647Ab3AQNxe (ORCPT ); Thu, 17 Jan 2013 08:53:34 -0500 Date: Thu, 17 Jan 2013 08:53:33 -0500 From: "J. Bruce Fields" To: Mark Lord Cc: linux-nfs@vger.kernel.org, Linux Kernel Subject: Re: BUG at net/sunrpc/svc_xprt.c:921 Message-ID: <20130117135333.GF6598@fieldses.org> References: <50F42F85.50907@teksavvy.com> <50F7F898.5050605@teksavvy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <50F7F898.5050605@teksavvy.com> Sender: linux-nfs-owner@vger.kernel.org List-ID: On Thu, Jan 17, 2013 at 08:11:52AM -0500, Mark Lord wrote: > On 13-01-14 11:17 AM, Mark Lord wrote: > > > > Here's the code with the BUG() at net/sunrpc/svc_xprt.c line 921: > > > > /* > > * Remove a dead transport > > */ > > static void svc_delete_xprt(struct svc_xprt *xprt) > > { > > struct svc_serv *serv = xprt->xpt_server; > > struct svc_deferred_req *dr; > > > > /* Only do this once */ > > if (test_and_set_bit(XPT_DEAD, &xprt->xpt_flags)) > > BUG(); > > > Shouldn't there also be a return statement after the BUG() line, > inside the if-stmt ? BUG() kills the thread that calls it, so it never returns, and a following statement wouldn't be executed--I may not understand your question. --b. > > I mean, the comment says "only do this once", but it actually > appears to end up doing it twice, despite the test. > > ??