From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756441AbcFHRtK (ORCPT ); Wed, 8 Jun 2016 13:49:10 -0400 Received: from casper.infradead.org ([85.118.1.10]:54534 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753945AbcFHRtH (ORCPT ); Wed, 8 Jun 2016 13:49:07 -0400 Date: Wed, 8 Jun 2016 18:49:04 +0100 (BST) From: James Simmons To: Binoy Jayan cc: Greg Kroah-Hartman , Oleg Drokin , Andreas Dilger , lustre-devel@lists.lustre.org, driverdev-devel@linuxdriverproject.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: Re: [PATCH 1/2] staging: lustre: lloop_device: Replace semaphore lo_sem with completion In-Reply-To: <1465372242-7116-2-git-send-email-binoy.jayan@linaro.org> Message-ID: References: <1465372242-7116-1-git-send-email-binoy.jayan@linaro.org> <1465372242-7116-2-git-send-email-binoy.jayan@linaro.org> 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-20160608_184905_013090_DECEEA50 X-CRM114-Status: GOOD ( 18.56 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 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 > The semaphore 'lo_sem' in lloop_device is used as completion, so it > should be written as one. Semaphores are going away in the future. > > Signed-off-by: Binoy Jayan NAK. The lloop_device is about to get deleted. > --- > drivers/staging/lustre/lustre/llite/lloop.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/staging/lustre/lustre/llite/lloop.c b/drivers/staging/lustre/lustre/llite/lloop.c > index 813a9a3..90b31ba 100644 > --- a/drivers/staging/lustre/lustre/llite/lloop.c > +++ b/drivers/staging/lustre/lustre/llite/lloop.c > @@ -131,7 +131,7 @@ struct lloop_device { > struct bio *lo_bio; > struct bio *lo_biotail; > int lo_state; > - struct semaphore lo_sem; > + struct completion lo_comp; > struct mutex lo_ctl_mutex; > atomic_t lo_pending; > wait_queue_head_t lo_bh_wait; > @@ -423,9 +423,9 @@ static int loop_thread(void *data) > lo->lo_pvec.ldp_offsets = lo->lo_requests[0].lrd_offsets; > > /* > - * up sem, we are running > + * signal completion, we are running > */ > - up(&lo->lo_sem); > + complete(&lo->lo_comp); > > for (;;) { > wait_event(lo->lo_bh_wait, loop_active(lo)); > @@ -466,7 +466,7 @@ static int loop_thread(void *data) > cl_env_put(env, &refcheck); > > out: > - up(&lo->lo_sem); > + complete(&lo->lo_comp); > return ret; > } > > @@ -539,7 +539,7 @@ static int loop_set_fd(struct lloop_device *lo, struct file *unused, > set_blocksize(bdev, lo->lo_blocksize); > > kthread_run(loop_thread, lo, "lloop%d", lo->lo_number); > - down(&lo->lo_sem); > + wait_for_completion(&lo->lo_comp); > return 0; > > out: > @@ -568,7 +568,7 @@ static int loop_clr_fd(struct lloop_device *lo, struct block_device *bdev, > spin_unlock_irq(&lo->lo_lock); > wake_up(&lo->lo_bh_wait); > > - down(&lo->lo_sem); > + wait_for_completion(&lo->lo_comp); > lo->lo_backing_file = NULL; > lo->lo_device = NULL; > lo->lo_offset = 0; > @@ -821,7 +821,7 @@ static int __init lloop_init(void) > goto out_mem4; > > mutex_init(&lo->lo_ctl_mutex); > - sema_init(&lo->lo_sem, 0); > + init_completion(&lo->lo_comp); > init_waitqueue_head(&lo->lo_bh_wait); > lo->lo_number = i; > spin_lock_init(&lo->lo_lock); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > > _______________________________________________ > devel mailing list > devel@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel >