> 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 <binoy.ja...@linaro.org>

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
> de...@linuxdriverproject.org
> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
> 
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to