From: Michal Hocko <mhocko@novell.com>
Subject: Don't fail allocations for the slot table when mounting an NFS filesystem
Patch-mainline: made redundant by 21de0a955f3af29fa1100d96f66e6adade89e77a in v3.1
References: bnc#519820

When the *_slot_table_entries exceeds 111, the slot_table_size
exceeds 32K and an order-4 allocation is forced.  This does not
retry nearly as much as order-3 so failure is more likely.
But mount and autofs in particular doesn't cope well with failure.
So force __GFP_REPEAT - the assumption is that people will only
set the slot_table_size sysctl large on a machine with plenty
of memory, so this should not block indefinitely.

Acked-by: Neil Brown <neilb@suse.de>
Signed-off-by: Neil Brown <neilb@suse.de>

---
 net/sunrpc/xprt.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-3.0-SLE11-SP2-3.0-neilb.orig/net/sunrpc/xprt.c
+++ linux-3.0-SLE11-SP2-3.0-neilb/net/sunrpc/xprt.c
@@ -968,7 +968,7 @@ struct rpc_xprt *xprt_alloc(struct net *
 	atomic_set(&xprt->count, 1);
 
 	xprt->max_reqs = max_req;
-	xprt->slot = kcalloc(max_req, sizeof(struct rpc_rqst), GFP_KERNEL);
+	xprt->slot = kcalloc(max_req, sizeof(struct rpc_rqst), GFP_KERNEL | __GFP_REPEAT);
 	if (xprt->slot == NULL)
 		goto out_free;
 
