Switch KM_SLEEP to KM_PUSHPAGE
authorRichard Yao <ryao@cs.stonybrook.edu>
Sat, 8 Dec 2012 13:38:13 +0000 (08:38 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 10 Dec 2012 17:44:45 +0000 (09:44 -0800)
When writes to zvols invoke ZIL, zfs_range_new_proxy() is called,
which allocates memory using KM_SLEEP, triggering a warning.
Switch to KM_PUSHPAGE to silence that warning.  See commit
b8d06fca089fae4680c3a552fc55c512bfb02202 for additional details.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1138

module/zfs/zfs_rlock.c

index c278035..325d5aa 100644 (file)
@@ -253,7 +253,7 @@ zfs_range_new_proxy(avl_tree_t *tree, uint64_t off, uint64_t len)
        rl_t *rl;
 
        ASSERT(len);
-       rl = kmem_alloc(sizeof (rl_t), KM_SLEEP);
+       rl = kmem_alloc(sizeof (rl_t), KM_PUSHPAGE);
        rl->r_off = off;
        rl->r_len = len;
        rl->r_cnt = 1;