search for: refcount_is_zero

Displaying 1 result from an estimated 1 matches for "refcount_is_zero".

2007 Sep 18
3
newbie question about a dbuf-arc eviction race
...holds == 0, b_efunc != NULL while its db_buf is put on the eviction list ? From an ASSERT in dbuf_do_evict(), it appears that it can. If it can, I am wondering what is preventing the following race dbuf_hold_impl() db = dbuf_find(dn, level, blkid); ... if (db->db_buf && refcount_is_zero(&db->db_holds)) { arc_buf_add_ref(db->db_buf, db); /* * The above just returns as db_buf is on the * eviction list. Now, suppose arc_do_user_evicts() * selects this buf and calls dbuf_do_evict()....