]> granicus.if.org Git - zfs/commitdiff
Fix dmu_objset_find_dp() KM_SLEEP warning
authorTim Chase <tim@chase2k.com>
Wed, 11 Sep 2013 18:47:43 +0000 (11:47 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 11 Sep 2013 18:49:32 +0000 (11:49 -0700)
After the restructuring in 13fe019 The 'zfs rename' command will
result in a KM_SLEEP being called in the sync context.  This may
deadlock due to reclaim so it was changed to KM_PUSHPAGE.

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

module/zfs/dmu_objset.c

index 97a224b911872474e1a8d2bf28a06c484a94a103..73807b6786bd6e102e21c4ec9598ed67c6cc4e88 100644 (file)
@@ -1519,7 +1519,7 @@ dmu_objset_find_dp(dsl_pool_t *dp, uint64_t ddobj,
        }
 
        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);
 
        /*
         * Iterate over all children.