Lines Matching defs:cel
2248 cache_celockstate_init(struct celockstate *cel)
2251 bzero(cel, sizeof(*cel));
2255 cache_lock_vnodes_cel(struct celockstate *cel, struct vnode *vp,
2260 MPASS(cel->vlp[0] == NULL);
2261 MPASS(cel->vlp[1] == NULL);
2262 MPASS(cel->vlp[2] == NULL);
2272 cel->vlp[0] = vlp1;
2275 cel->vlp[1] = vlp2;
2279 cache_unlock_vnodes_cel(struct celockstate *cel)
2282 MPASS(cel->vlp[0] != NULL || cel->vlp[1] != NULL);
2284 if (cel->vlp[0] != NULL)
2285 mtx_unlock(cel->vlp[0]);
2286 if (cel->vlp[1] != NULL)
2287 mtx_unlock(cel->vlp[1]);
2288 if (cel->vlp[2] != NULL)
2289 mtx_unlock(cel->vlp[2]);
2293 cache_lock_vnodes_cel_3(struct celockstate *cel, struct vnode *vp)
2298 cache_assert_vlp_locked(cel->vlp[0]);
2299 cache_assert_vlp_locked(cel->vlp[1]);
2300 MPASS(cel->vlp[2] == NULL);
2306 if (vlp >= cel->vlp[1]) {
2311 cache_unlock_vnodes_cel(cel);
2313 if (vlp < cel->vlp[0]) {
2315 mtx_lock(cel->vlp[0]);
2316 mtx_lock(cel->vlp[1]);
2318 if (cel->vlp[0] != NULL)
2319 mtx_lock(cel->vlp[0]);
2321 mtx_lock(cel->vlp[1]);
2326 cel->vlp[2] = vlp;
2331 cache_lock_buckets_cel(struct celockstate *cel, struct mtx *blp1,
2335 MPASS(cel->blp[0] == NULL);
2336 MPASS(cel->blp[1] == NULL);
2342 cel->blp[0] = blp1;
2345 cel->blp[1] = blp2;
2349 cache_unlock_buckets_cel(struct celockstate *cel)
2352 if (cel->blp[0] != NULL)
2353 mtx_unlock(cel->blp[0]);
2354 mtx_unlock(cel->blp[1]);
2368 cache_enter_lock(struct celockstate *cel, struct vnode *dvp, struct vnode *vp,
2378 cache_lock_vnodes_cel(cel, dvp, vp);
2391 if (cache_lock_vnodes_cel_3(cel, ncp->nc_vp))
2400 VP2VNODELOCK(ncp->nc_vp) == cel->vlp[2])
2402 cache_unlock_vnodes_cel(cel);
2403 cel->vlp[0] = NULL;
2404 cel->vlp[1] = NULL;
2405 cel->vlp[2] = NULL;
2407 cache_lock_buckets_cel(cel, blps[0], blps[1]);
2411 cache_enter_lock_dd(struct celockstate *cel, struct vnode *dvp, struct vnode *vp,
2421 cache_lock_vnodes_cel(cel, dvp, vp);
2432 if (cache_lock_vnodes_cel_3(cel, ncp->nc_vp))
2437 VP2VNODELOCK(ncp->nc_vp) == cel->vlp[2])
2439 cache_unlock_vnodes_cel(cel);
2440 cel->vlp[0] = NULL;
2441 cel->vlp[1] = NULL;
2442 cel->vlp[2] = NULL;
2444 cache_lock_buckets_cel(cel, blps[0], blps[1]);
2448 cache_enter_unlock(struct celockstate *cel)
2451 cache_unlock_buckets_cel(cel);
2452 cache_unlock_vnodes_cel(cel);
2459 struct celockstate cel;
2467 cache_celockstate_init(&cel);
2469 cache_enter_lock_dd(&cel, dvp, vp, hash);
2478 cache_enter_unlock(&cel);
2490 struct celockstate cel;
2536 cache_celockstate_init(&cel);
2563 cache_enter_lock(&cel, dvp, vp, hash);
2685 cache_enter_unlock(&cel);
2690 cache_enter_unlock(&cel);