On Wed, 2012-03-28 at 21:49 +0900, Namjae Jeon wrote: > Hi. Trond. > > Is it better if exception.retry set to zero instead goto ? What makes you think that would be better? That adds an unnecessary extra set+test of exception.retry except if gcc manages to optimise that away to the same goto we've now documented in the code. > Thanks. > > 2012/3/28 Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>: > > We can currently loop forever in nfs4_lookup_root() and in > > nfs41_proc_secinfo_no_name(), if the first iteration returns a > > NFS4ERR_DELAY or something else that causes exception.retry to get > > set. > > > > Reported-by: Dros Adamson <Weston.Adamson@xxxxxxxxxx> > > Signed-off-by: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx> > > Cc: stable@xxxxxxxxxxxxxxx > > --- > > fs/nfs/nfs4proc.c | 6 ++++-- > > 1 files changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c > > index 45df7d4..ee9ca19 100644 > > --- a/fs/nfs/nfs4proc.c > > +++ b/fs/nfs/nfs4proc.c > > @@ -2290,11 +2290,12 @@ static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, > > switch (err) { > > case 0: > > case -NFS4ERR_WRONGSEC: > > - break; > > + goto out; > > default: > > err = nfs4_handle_exception(server, err, &exception); > > } > > } while (exception.retry); > > +out: > > return err; > > } > > > > @@ -6229,11 +6230,12 @@ nfs41_proc_secinfo_no_name(struct nfs_server *server, struct nfs_fh *fhandle, > > case 0: > > case -NFS4ERR_WRONGSEC: > > case -NFS4ERR_NOTSUPP: > > - break; > > + goto out; > > default: > > err = nfs4_handle_exception(server, err, &exception); > > } > > } while (exception.retry); > > +out: > > return err; > > } > > > > -- > > 1.7.7.6 > > > > -- > > 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 -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥