diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-26 01:08:05 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-26 01:08:05 -0400 |
commit | ccd7bc2f67fdfa9c47ceae64f1117d1fb6cb8737 (patch) | |
tree | 33b13cd5582c419f8ae098edb24ca355974a7ccf /lib | |
parent | 6f0ef4fa57b9ba27d7b1c330bad041f1665501fe (diff) | |
parent | 6693e74a16ef563960764bd963f1048392135c3c (diff) |
Merge branch 'master'
Diffstat (limited to 'lib')
-rw-r--r-- | lib/idr.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -346,6 +346,19 @@ void idr_remove(struct idr *idp, int id) | |||
346 | EXPORT_SYMBOL(idr_remove); | 346 | EXPORT_SYMBOL(idr_remove); |
347 | 347 | ||
348 | /** | 348 | /** |
349 | * idr_destroy - release all cached layers within an idr tree | ||
350 | * idp: idr handle | ||
351 | */ | ||
352 | void idr_destroy(struct idr *idp) | ||
353 | { | ||
354 | while (idp->id_free_cnt) { | ||
355 | struct idr_layer *p = alloc_layer(idp); | ||
356 | kmem_cache_free(idr_layer_cache, p); | ||
357 | } | ||
358 | } | ||
359 | EXPORT_SYMBOL(idr_destroy); | ||
360 | |||
361 | /** | ||
349 | * idr_find - return pointer for given id | 362 | * idr_find - return pointer for given id |
350 | * @idp: idr handle | 363 | * @idp: idr handle |
351 | * @id: lookup key | 364 | * @id: lookup key |