• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/timemachine/db-4.7.25.NC/lock/

Lines Matching refs:sh_obj

110 	DB_LOCK lock; DB_LOCKOBJ *sh_obj;
193 sh_obj = (DB_LOCKOBJ *)
202 sh_obj = (DB_LOCKOBJ *)
204 ndx = sh_obj->indx;
219 sh_obj->indx,
230 np->data = SH_DBT_PTR(&sh_obj->lockobj);
231 np->size = sh_obj->lockobj.size;
276 ndx, 0, &sh_obj)) != 0 || sh_obj == NULL) {
289 for (lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock);
291 lp = SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock))
301 for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
536 DB_LOCKOBJ *sh_obj;
569 sh_obj = NULL;
581 sh_obj = (DB_LOCKOBJ *)((u_int8_t *)lp + lp->obj);
582 ndx = sh_obj->indx;
588 if ((ret = __lock_getobj(lt, obj, lock->ndx, 1, &sh_obj)) != 0)
636 lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
697 lp, &sh_obj->waiters, links, __db_lock)
740 &sh_obj->waiters, __db_lock);
806 newl->obj = (roff_t)SH_PTR_TO_OFF(newl, sh_obj);
807 newl->indx = sh_obj->indx;
837 SH_TAILQ_INSERT_TAIL(&sh_obj->holders, newl, links);
848 SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock)) == NULL) {
851 sh_obj, dd_links, __db_lockobj);
857 &sh_obj->waiters, newl, links, __db_lock);
861 &sh_obj->waiters, lp, newl, links, __db_lock);
864 SH_TAILQ_INSERT_TAIL(&sh_obj->waiters, newl, links);
918 OBJECT_UNLOCK(lt, region, sh_obj->indx);
924 OBJECT_LOCK_NDX(lt, region, sh_obj->indx);
926 lt, sh_obj, newl, DB_LSTAT_FREE);
985 &sh_obj->holders, newl, links, __db_lock);
1207 DB_LOCKOBJ *sh_obj;
1245 sh_obj = (DB_LOCKOBJ *)((u_int8_t *)lockp + lockp->obj);
1256 lt, sh_obj, lockp, DB_LSTAT_ABORTED)) != 0)
1259 SH_TAILQ_REMOVE(&sh_obj->holders, lockp, links, __db_lock);
1266 if ((ret = __lock_promote(lt, sh_obj, &state_changed,
1271 if (SH_TAILQ_FIRST(&sh_obj->holders, __db_lock) == NULL &&
1272 SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock) == NULL) {
1275 &lt->obj_tab[obj_ndx], sh_obj, links, __db_lockobj);
1276 if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) {
1280 SH_DBT_PTR(&sh_obj->lockobj));
1285 &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj);
1286 sh_obj->generation++;
1370 DB_LOCKOBJ *sh_obj;
1381 sh_obj = NULL;
1389 again: for (cur_p++; sh_obj == NULL && cur_p < end_p; cur_p++) {
1391 if ((sh_obj =
1394 sh_obj, links, __db_lockobj);
1397 if (sh_obj != NULL) {
1401 sh_obj, links, __db_lockobj);
1431 DB_LOCKOBJ *sh_obj;
1443 retry: SH_TAILQ_FOREACH(sh_obj, &lt->obj_tab[ndx], links, __db_lockobj) {
1445 if (obj->size == sh_obj->lockobj.size &&
1447 SH_DBT_PTR(&sh_obj->lockobj), obj->size) == 0)
1455 if (sh_obj == NULL && create) {
1458 if ((sh_obj = SH_TAILQ_FIRST(&FREE_OBJS(
1469 if (obj->size <= sizeof(sh_obj->objdata))
1470 p = sh_obj->objdata;
1492 lt, part_id), sh_obj, links, __db_lockobj);
1510 sh_obj->indx = ndx;
1511 SH_TAILQ_INIT(&sh_obj->waiters);
1512 SH_TAILQ_INIT(&sh_obj->holders);
1513 sh_obj->lockobj.size = obj->size;
1514 sh_obj->lockobj.off =
1515 (roff_t)SH_PTR_TO_OFF(&sh_obj->lockobj, p);
1517 &lt->obj_tab[ndx], sh_obj, links, __db_lockobj);
1530 *retp = sh_obj;
1790 __lock_remove_waiter(lt, sh_obj, lockp, status)
1792 DB_LOCKOBJ *sh_obj;
1803 SH_TAILQ_REMOVE(&sh_obj->waiters, lockp, links, __db_lock);
1806 if (SH_TAILQ_FIRST(&sh_obj->waiters, __db_lock) == NULL) {
1808 sh_obj->generation++;
1811 sh_obj, dd_links, __db_lockobj);