From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752364AbcISUnm (ORCPT ); Mon, 19 Sep 2016 16:43:42 -0400 Received: from casper.infradead.org ([85.118.1.10]:42240 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751449AbcISUnl (ORCPT ); Mon, 19 Sep 2016 16:43:41 -0400 Date: Mon, 19 Sep 2016 21:43:36 +0100 (BST) From: James Simmons To: Nayeemahmed Badebade cc: andreas.dilger@intel.com, gregkh@linuxfoundation.org, oleg.drokin@intel.com, bruce.korb@gmail.com, lustre-devel@lists.lustre.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] staging: lustre: lustre/ldlm: Fixed sparse warnings In-Reply-To: <1474233499-11369-1-git-send-email-itachi.opsrc@gmail.com> Message-ID: References: <1474233499-11369-1-git-send-email-itachi.opsrc@gmail.com> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160919_214336_998101_8376BDEB X-CRM114-Status: GOOD ( 11.39 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-1.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 NO_RELAYS Informational: message was not relayed via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > Added __acquires / __releases sparse locking annotations > to lock_res_and_lock() and unlock_res_and_lock() functions > in l_lock.c, to fix below sparse warnings: > > l_lock.c:47:22: warning: context imbalance in 'lock_res_and_lock' - wrong count at exit > l_lock.c:61:6: warning: context imbalance in 'unlock_res_and_lock' - unexpected unlock > > Signed-off-by: Nayeemahmed Badebade Reviewed-by: James Simmons > --- > > Changes in v2: > * Corrected sparse annotations for the lock > lock->l_resource->lr_lock > > drivers/staging/lustre/lustre/ldlm/l_lock.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/staging/lustre/lustre/ldlm/l_lock.c b/drivers/staging/lustre/lustre/ldlm/l_lock.c > index ea8840c..3845f38 100644 > --- a/drivers/staging/lustre/lustre/ldlm/l_lock.c > +++ b/drivers/staging/lustre/lustre/ldlm/l_lock.c > @@ -45,6 +45,8 @@ > * being an atomic operation. > */ > struct ldlm_resource *lock_res_and_lock(struct ldlm_lock *lock) > + __acquires(&lock->l_lock) > + __acquires(&lock->l_resource->lr_lock) > { > spin_lock(&lock->l_lock); > > @@ -59,6 +61,8 @@ struct ldlm_resource *lock_res_and_lock(struct ldlm_lock *lock) > * Unlock a lock and its resource previously locked with lock_res_and_lock > */ > void unlock_res_and_lock(struct ldlm_lock *lock) > + __releases(&lock->l_resource->lr_lock) > + __releases(&lock->l_lock) > { > /* on server-side resource of lock doesn't change */ > ldlm_clear_res_locked(lock); > -- > 1.9.1 > > From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Simmons Date: Mon, 19 Sep 2016 21:43:36 +0100 (BST) Subject: [lustre-devel] [PATCH v2] staging: lustre: lustre/ldlm: Fixed sparse warnings In-Reply-To: <1474233499-11369-1-git-send-email-itachi.opsrc@gmail.com> References: <1474233499-11369-1-git-send-email-itachi.opsrc@gmail.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Nayeemahmed Badebade Cc: andreas.dilger@intel.com, gregkh@linuxfoundation.org, oleg.drokin@intel.com, bruce.korb@gmail.com, lustre-devel@lists.lustre.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org > Added __acquires / __releases sparse locking annotations > to lock_res_and_lock() and unlock_res_and_lock() functions > in l_lock.c, to fix below sparse warnings: > > l_lock.c:47:22: warning: context imbalance in 'lock_res_and_lock' - wrong count at exit > l_lock.c:61:6: warning: context imbalance in 'unlock_res_and_lock' - unexpected unlock > > Signed-off-by: Nayeemahmed Badebade Reviewed-by: James Simmons > --- > > Changes in v2: > * Corrected sparse annotations for the lock > lock->l_resource->lr_lock > > drivers/staging/lustre/lustre/ldlm/l_lock.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/staging/lustre/lustre/ldlm/l_lock.c b/drivers/staging/lustre/lustre/ldlm/l_lock.c > index ea8840c..3845f38 100644 > --- a/drivers/staging/lustre/lustre/ldlm/l_lock.c > +++ b/drivers/staging/lustre/lustre/ldlm/l_lock.c > @@ -45,6 +45,8 @@ > * being an atomic operation. > */ > struct ldlm_resource *lock_res_and_lock(struct ldlm_lock *lock) > + __acquires(&lock->l_lock) > + __acquires(&lock->l_resource->lr_lock) > { > spin_lock(&lock->l_lock); > > @@ -59,6 +61,8 @@ struct ldlm_resource *lock_res_and_lock(struct ldlm_lock *lock) > * Unlock a lock and its resource previously locked with lock_res_and_lock > */ > void unlock_res_and_lock(struct ldlm_lock *lock) > + __releases(&lock->l_resource->lr_lock) > + __releases(&lock->l_lock) > { > /* on server-side resource of lock doesn't change */ > ldlm_clear_res_locked(lock); > -- > 1.9.1 > >