diff options
Diffstat (limited to 'net/sunrpc/svc.c')
| -rw-r--r-- | net/sunrpc/svc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 538ca433a56c..8420a4205b76 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
| @@ -133,7 +133,7 @@ svc_pool_map_choose_mode(void) | |||
| 133 | return SVC_POOL_PERNODE; | 133 | return SVC_POOL_PERNODE; |
| 134 | } | 134 | } |
| 135 | 135 | ||
| 136 | node = any_online_node(node_online_map); | 136 | node = first_online_node; |
| 137 | if (nr_cpus_node(node) > 2) { | 137 | if (nr_cpus_node(node) > 2) { |
| 138 | /* | 138 | /* |
| 139 | * Non-trivial SMP, or CONFIG_NUMA on | 139 | * Non-trivial SMP, or CONFIG_NUMA on |
| @@ -506,6 +506,10 @@ svc_init_buffer(struct svc_rqst *rqstp, unsigned int size) | |||
| 506 | { | 506 | { |
| 507 | unsigned int pages, arghi; | 507 | unsigned int pages, arghi; |
| 508 | 508 | ||
| 509 | /* bc_xprt uses fore channel allocated buffers */ | ||
| 510 | if (svc_is_backchannel(rqstp)) | ||
| 511 | return 1; | ||
| 512 | |||
| 509 | pages = size / PAGE_SIZE + 1; /* extra page as we hold both request and reply. | 513 | pages = size / PAGE_SIZE + 1; /* extra page as we hold both request and reply. |
| 510 | * We assume one is at most one page | 514 | * We assume one is at most one page |
| 511 | */ | 515 | */ |
