@@ -113,7 +113,7 @@ wzvol_decref_target(wzvolContext* zvc)
113
113
// when refCnt is 0 we can free the remove lock block.
114
114
// All IoReleaseRemoveLock have been called.
115
115
atomic_cas_ptr (& zvc -> pIoRemLock , pIoRemLock , NULL );
116
- kmem_free (pIoRemLock , sizeof ( * pIoRemLock ) );
116
+ ExFreePoolWithTag (pIoRemLock , MP_TAG_GENERAL );
117
117
}
118
118
}
119
119
@@ -156,8 +156,9 @@ wzvol_assign_targetid(zvol_state_t *zv)
156
156
{
157
157
wzvolContext * zv_targets = STOR_wzvolDriverInfo .zvContextArray ;
158
158
ASSERT (zv -> zv_zso -> zso_target_context == NULL );
159
- PIO_REMOVE_LOCK pIoRemLock = kmem_zalloc (sizeof (* pIoRemLock ),
160
- KM_SLEEP );
159
+ PIO_REMOVE_LOCK pIoRemLock = ExAllocatePoolWithTag (NonPagedPoolNx ,
160
+ sizeof (* pIoRemLock ), MP_TAG_GENERAL );
161
+
161
162
if (!pIoRemLock ) {
162
163
dprintf ("ZFS: Unable to assign targetid - out of memory.\n" );
163
164
ASSERT ("Unable to assign targetid - out of memory." );
@@ -212,7 +213,7 @@ wzvol_assign_targetid(zvol_state_t *zv)
212
213
IoReleaseRemoveLock (pIoRemLock , zv );
213
214
}
214
215
215
- kmem_free (pIoRemLock , sizeof ( * pIoRemLock ) );
216
+ ExFreePoolWithTag (pIoRemLock , MP_TAG_GENERAL );
216
217
dprintf ("ZFS: Unable to assign targetid - out of room.\n" );
217
218
ASSERT ("Unable to assign targetid - out of room." );
218
219
return (0 );
0 commit comments