> On Aug 30, 2016, at 9:20 AM, Benjamin Coddington <bcodding@xxxxxxxxxx> wrote: > > Change from v1: > Use ELOOP rather than EEXIST, and drop the now-redundant comment. > > 8<------------------------------------------------------------------------- > > If a server returns itself as a location while migrating, the client may > end up getting stuck attempting to migrate twice to the same server. Catch > this by checking if the nfs_client found is the same as the existing > client. For the other two callers to nfs4_set_client, the nfs_client will > always be ERR_PTR(-EINVAL). > > Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> I don't have any objection. Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx> > --- > fs/nfs/nfs4client.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c > index 8d7d08d4f95f..cd3b7cfdde16 100644 > --- a/fs/nfs/nfs4client.c > +++ b/fs/nfs/nfs4client.c > @@ -817,6 +817,11 @@ static int nfs4_set_client(struct nfs_server *server, > goto error; > } > > + if (server->nfs_client == clp) { > + error = -ELOOP; > + goto error; > + } > + > /* > * Query for the lease time on clientid setup or renewal > * > -- > 2.5.5 > > -- > 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 -- Chuck Lever -- 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