diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-26 01:06:45 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-26 01:06:45 -0400 |
| commit | 1f57389a38dc1e8be167ec601f39f78f0bed3a96 (patch) | |
| tree | 5f33d00a046597ae33855cee13d17d77048ba712 /lib/idr.c | |
| parent | 077783f87708b24054452e5c07685ead2c28b1eb (diff) | |
| parent | 6693e74a16ef563960764bd963f1048392135c3c (diff) | |
Merge branch 'master'
Diffstat (limited to 'lib/idr.c')
| -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 |
