I recently posted this patch to the nfs mailing list, but got no comment.
Reposting with an actual "[PATCH]" subject...

In certain situations, a NFSv4 client can end up with a set of racing calls
that cause the server to return a NFS4ERR_OLD_STATEID error. When this occurs,
the only real recourse that the client has is to retry the call. In the
current code, when this occurs, it triggers a useless printk (in
nfs4_map_errors):

    nfs4_map_errors could not handle NFSv4 error 10024

Trond recently mentioned that we really don't need to worry users with that
info. The following patch is based on a suggestion by Frank Filz and supresses
this error. Changing the return code here to 0 should be safe since all callers
of nfs4_handle_exception are expected to retry the call in this situation
anyway.

Signed-off-by: Jeff Layton <[EMAIL PROTECTED]>
Signed-off-by: Frank Filz <[EMAIL PROTECTED]>

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index f52cf5c..b456783 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2774,6 +2774,7 @@ int nfs4_handle_exception(const struct nfs_server 
*server, int errorcode, struct
                                break;
                case -NFS4ERR_OLD_STATEID:
                        exception->retry = 1;
+                       ret = 0;
        }
        /* We failed to handle the error */
        return nfs4_map_errors(ret);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to