Ver Fonte

NFS: Read requests can use GFP_KERNEL.

There is no danger of deadlock should the allocation trigger page
writeback.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust há 15 anos atrás
pai
commit
93870d76fe
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      fs/nfs/read.c

+ 2 - 2
fs/nfs/read.c

@@ -40,7 +40,7 @@ static mempool_t *nfs_rdata_mempool;
 
 
 struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount)
 struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount)
 {
 {
-	struct nfs_read_data *p = mempool_alloc(nfs_rdata_mempool, GFP_NOFS);
+	struct nfs_read_data *p = mempool_alloc(nfs_rdata_mempool, GFP_KERNEL);
 
 
 	if (p) {
 	if (p) {
 		memset(p, 0, sizeof(*p));
 		memset(p, 0, sizeof(*p));
@@ -50,7 +50,7 @@ struct nfs_read_data *nfs_readdata_alloc(unsigned int pagecount)
 		if (pagecount <= ARRAY_SIZE(p->page_array))
 		if (pagecount <= ARRAY_SIZE(p->page_array))
 			p->pagevec = p->page_array;
 			p->pagevec = p->page_array;
 		else {
 		else {
-			p->pagevec = kcalloc(pagecount, sizeof(struct page *), GFP_NOFS);
+			p->pagevec = kcalloc(pagecount, sizeof(struct page *), GFP_KERNEL);
 			if (!p->pagevec) {
 			if (!p->pagevec) {
 				mempool_free(p, nfs_rdata_mempool);
 				mempool_free(p, nfs_rdata_mempool);
 				p = NULL;
 				p = NULL;