Switch KM_SLEEP to KM_PUSHPAGE
authorNed Bass <bass6@llnl.gov>
Wed, 6 Feb 2013 18:15:13 +0000 (10:15 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 6 Feb 2013 19:19:58 +0000 (11:19 -0800)
Two more locations where KM_SLEEP was used in a call which must
use KM_PUSHPAGE were found while using the zpool upgrade command.
See commit b8d06fc for additional details.

Also make a small correction to the comment block above
dsl_dir_open_spa().

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1268

module/zfs/dmu_objset.c
module/zfs/dsl_dir.c

index c59973a..50673dc 100644 (file)
@@ -1672,7 +1672,7 @@ dmu_objset_find_spa(spa_t *spa, const char *name,
        }
 
        thisobj = dd->dd_phys->dd_head_dataset_obj;
-       attr = kmem_alloc(sizeof (zap_attribute_t), KM_SLEEP);
+       attr = kmem_alloc(sizeof (zap_attribute_t), KM_PUSHPAGE);
        dp = dd->dd_pool;
 
        /*
index 7412239..a25ebbf 100644 (file)
@@ -295,7 +295,7 @@ getcomponent(const char *path, char *component, const char **nextp)
 }
 
 /*
- * same as dsl_open_dir, ignore the first component of name and use the
+ * same as dsl_dir_open, ignore the first component of name and use the
  * spa instead
  */
 int
@@ -312,7 +312,7 @@ dsl_dir_open_spa(spa_t *spa, const char *name, void *tag,
 
        dprintf("%s\n", name);
 
-       buf = kmem_alloc(MAXNAMELEN, KM_SLEEP);
+       buf = kmem_alloc(MAXNAMELEN, KM_PUSHPAGE);
        err = getcomponent(name, buf, &next);
        if (err)
                goto error;