فهرست منبع

NFSv4: Fix the handling of the error NFS4ERR_OLD_STATEID

 Ensure that we retry the failed operation...

 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust 19 سال پیش
والد
کامیت
2c56617d76
1فایلهای تغییر یافته به همراه3 افزوده شده و 5 حذف شده
  1. 3 5
      fs/nfs/nfs4proc.c

+ 3 - 5
fs/nfs/nfs4proc.c

@@ -2595,12 +2595,10 @@ int nfs4_handle_exception(const struct nfs_server *server, int errorcode, struct
 		case -NFS4ERR_GRACE:
 		case -NFS4ERR_GRACE:
 		case -NFS4ERR_DELAY:
 		case -NFS4ERR_DELAY:
 			ret = nfs4_delay(server->client, &exception->timeout);
 			ret = nfs4_delay(server->client, &exception->timeout);
-			if (ret == 0)
-				exception->retry = 1;
-			break;
+			if (ret != 0)
+				break;
 		case -NFS4ERR_OLD_STATEID:
 		case -NFS4ERR_OLD_STATEID:
-			if (ret == 0)
-				exception->retry = 1;
+			exception->retry = 1;
 	}
 	}
 	/* We failed to handle the error */
 	/* We failed to handle the error */
 	return nfs4_map_errors(ret);
 	return nfs4_map_errors(ret);