Lines Matching refs:wmp
1194 static void sd_free_inlist_wmap(struct sd_lun *un, struct sd_w_map *wmp);
28747 struct sd_w_map *wmp = NULL; local
28776 if ((wmp != NULL) && ONLIST(un, wmp)) {
28782 FREE_ONLIST_WMAP(un, wmp);
28807 if (wmp == NULL)
28808 wmp = kmem_cache_alloc(un->un_wm_cache,
28810 if (wmp == NULL) {
28814 wmp = kmem_cache_alloc(un->un_wm_cache,
28829 wmp->wm_start = startb;
28830 wmp->wm_end = endb;
28831 wmp->wm_flags = typ | SD_WM_BUSY;
28838 if (!ONLIST(un, wmp)) {
28839 wmp->wm_next = un->un_wm;
28840 wmp->wm_prev = NULL;
28841 if (wmp->wm_next)
28842 wmp->wm_next->wm_prev = wmp;
28843 un->un_wm = wmp;
28865 if (wmp != NULL) {
28866 CHK_N_FREEWMP(un, wmp);
28868 wmp = sl_wmp;
28888 ASSERT(wmp != NULL);
28890 return (wmp);
28910 struct sd_w_map *wmp; local
28914 for (wmp = un->un_wm; wmp != NULL; wmp = wmp->wm_next) {
28915 if (!(wmp->wm_flags & SD_WM_BUSY)) {
28918 if ((startb >= wmp->wm_start) && (startb <= wmp->wm_end)) {
28921 if ((endb >= wmp->wm_start) && (endb <= wmp->wm_end)) {
28926 return (wmp);
28940 sd_free_inlist_wmap(struct sd_lun *un, struct sd_w_map *wmp) argument
28944 if (un->un_wm == wmp) {
28945 un->un_wm = wmp->wm_next;
28947 wmp->wm_prev->wm_next = wmp->wm_next;
28950 if (wmp->wm_next) {
28951 wmp->wm_next->wm_prev = wmp->wm_prev;
28954 wmp->wm_next = wmp->wm_prev = NULL;
28956 kmem_cache_free(un->un_wm_cache, wmp);