瀏覽代碼

dm btree: use GFP_NOFS in dm_btree_del()

dm_btree_del() is called from an ioctl so don't recurse into FS.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Joe Thornber 9 年之前
父節點
當前提交
9f9ef0657d
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      drivers/md/persistent-data/dm-btree.c

+ 6 - 1
drivers/md/persistent-data/dm-btree.c

@@ -272,7 +272,12 @@ int dm_btree_del(struct dm_btree_info *info, dm_block_t root)
 	int r;
 	struct del_stack *s;
 
-	s = kmalloc(sizeof(*s), GFP_NOIO);
+	/*
+	 * dm_btree_del() is called via an ioctl, as such should be
+	 * considered an FS op.  We can't recurse back into the FS, so we
+	 * allocate GFP_NOFS.
+	 */
+	s = kmalloc(sizeof(*s), GFP_NOFS);
 	if (!s)
 		return -ENOMEM;
 	s->info = info;