Re: [PATCH] nfs: allow the v4.1 callback thread to freeze

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 25, 2013 at 07:59:57AM -0400, Jeff Layton wrote:
> The v4.1 callback thread has set_freezable() at the top, but it doesn't
> ever try to freeze within the loop. Have it call try_to_freeze() at the
> top of the loop. If a freeze event occurs, recheck kthread_should_stop()
> after thawing.
> 
> Reported-by: Yanchuan Nian <ycnian@xxxxxxxxx>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> ---
>  fs/nfs/callback.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c
> index 5088b57..cff089a 100644
> --- a/fs/nfs/callback.c
> +++ b/fs/nfs/callback.c
> @@ -125,6 +125,9 @@ nfs41_callback_svc(void *vrqstp)
>  	set_freezable();
>  
>  	while (!kthread_should_stop()) {
> +		if (try_to_freeze())
> +			continue;
> +
>  		prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE);
>  		spin_lock_bh(&serv->sv_cb_lock);
>  		if (!list_empty(&serv->sv_cb_list)) {

Tested, and the client suspends successfully now.
> -- 
> 1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux