Print this page
patch as-lock-macro-simplification

*** 532,542 **** */ if (prp->p_as != &kas) { struct seg *seg; struct as *as = prp->p_as; ! AS_LOCK_ENTER(as, &as->a_lock, RW_READER); for (seg = AS_SEGFIRST(as); seg; seg = AS_SEGNEXT(as, seg)) { /* * if we can't get a backing vnode for this * segment then skip it --- 532,542 ---- */ if (prp->p_as != &kas) { struct seg *seg; struct as *as = prp->p_as; ! AS_LOCK_ENTER(as, RW_READER); for (seg = AS_SEGFIRST(as); seg; seg = AS_SEGNEXT(as, seg)) { /* * if we can't get a backing vnode for this * segment then skip it
*** 596,606 **** (VTOCS(fvp)->s_dip == VTOCS(vp)->s_dip)) { use_flag |= F_MAP; break; } } ! AS_LOCK_EXIT(as, &as->a_lock); } if (use_flag) { ASSERT(pcnt < fu_data->fud_user_max); fu_data->fud_user[pcnt].fu_flags = use_flag; --- 596,606 ---- (VTOCS(fvp)->s_dip == VTOCS(vp)->s_dip)) { use_flag |= F_MAP; break; } } ! AS_LOCK_EXIT(as); } if (use_flag) { ASSERT(pcnt < fu_data->fud_user_max); fu_data->fud_user[pcnt].fu_flags = use_flag;