summaryrefslogtreecommitdiffstats
path: root/fs/nfs/blocklayout
diff options
context:
space:
mode:
authorPeng Tao <bergwolf@gmail.com>2012-01-12 23:18:45 +0800
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-01-12 16:38:55 -0500
commit57582b372f63d0f655b1a35b0d306d73d1a46775 (patch)
tree27c27ca5a20720d835b901760b52b66060ddb840 /fs/nfs/blocklayout
parent82b906d6550ee5fe0d5553359b3c9692dd0aed31 (diff)
downloadlinux-57582b372f63d0f655b1a35b0d306d73d1a46775.tar.gz
linux-57582b372f63d0f655b1a35b0d306d73d1a46775.tar.bz2
linux-57582b372f63d0f655b1a35b0d306d73d1a46775.zip
pnfsblock: clean up _add_entry
It is wrong to kmalloc in _add_entry() as it is inside spinlock. memory should be already allocated _add_entry() is called. Signed-off-by: Peng Tao <peng_tao@emc.com> Signed-off-by: Benny Halevy <bhalevy@tonian.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/blocklayout')
-rw-r--r--fs/nfs/blocklayout/extents.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/nfs/blocklayout/extents.c b/fs/nfs/blocklayout/extents.c
index c69682a4262a..369ef53e89e1 100644
--- a/fs/nfs/blocklayout/extents.c
+++ b/fs/nfs/blocklayout/extents.c
@@ -110,13 +110,7 @@ static int _add_entry(struct my_tree *tree, u64 s, int32_t tag,
return 0;
} else {
struct pnfs_inval_tracking *new;
- if (storage)
- new = storage;
- else {
- new = kmalloc(sizeof(*new), GFP_NOFS);
- if (!new)
- return -ENOMEM;
- }
+ new = storage;
new->it_sector = s;
new->it_tags = (1 << tag);
list_add(&new->it_link, &pos->it_link);