Re: [PATCH 1/2] NFSv4: Schedule recovery if nfs40_walk_client_list() is interrupted

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

 




On 03/18/2014 04:03 PM, Trond Myklebust wrote:
> If a timeout or a signal interrupts the NFSv4 trunking discovery
> SETCLIENTID_CONFIRM call, then we don't know whether or not the
> server has changed the callback identifier on us.
> Assume that it did, and schedule a 'path down' recovery...
> 
> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
Tested-by: Steve Dickson <steved@xxxxxxxxxx>

steved.
> ---
>  fs/nfs/nfs4client.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
> index 0e46d3d1b6cc..aa9ef4876046 100644
> --- a/fs/nfs/nfs4client.c
> +++ b/fs/nfs/nfs4client.c
> @@ -531,6 +531,13 @@ int nfs40_walk_client_list(struct nfs_client *new,
>  			*result = pos;
>  			dprintk("NFS: <-- %s using nfs_client = %p ({%d})\n",
>  				__func__, pos, atomic_read(&pos->cl_count));
> +			goto out;
> +		case -ERESTARTSYS:
> +		case -ETIMEDOUT:
> +			/* The callback path may have been inadvertently
> +			 * changed. Schedule recovery!
> +			 */
> +			nfs4_schedule_path_down_recovery(pos);
>  		default:
>  			goto out;
>  		}
> 
--
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