Lines Matching refs:me

77 #define	CRB_FREE(crb, me) \
81 (me)->me_crb = NULL;
83 #define CRB_RELE(me) { \
84 crb_t *crb = (me)->me_crb; \
86 CRB_FREE(crb, me) \
95 #define HANDLE_DQUOT(me, melist) { \
96 if ((me->me_arg) && \
97 (me->me_func == ufs_trans_push_quota)) { \
98 if (!((me->me_dt == melist->me_dt) && \
99 (me->me_arg == melist->me_arg) && \
100 (me->me_func == melist->me_func))) { \
101 handle_dquot(me); \
113 mapentry_t *me;
115 while ((me = mtm->mtm_next) != (mapentry_t *)mtm) {
116 me->me_next->me_prev = me->me_prev;
117 me->me_prev->me_next = me->me_next;
118 CRB_RELE(me);
119 kmem_cache_free(mapentry_cache, me);
227 mapentry_t *me;
244 * cleaned up by the push function me->me_func as this will
250 for (me = *mep; me; me = me->me_hash) {
251 if (DATAwithinME(mof, hnb, me)) {
258 if (me->me_func == ufs_trans_push_quota) {
264 (!DATAoverlapME(mof, hnb, me)) ||
265 MEwithinDATA(me, mof, hnb));
268 if (me) {
300 me = kmem_cache_alloc(mapentry_cache, KM_NOSLEEP);
301 if (me == NULL) {
303 me = kmem_cache_alloc(mapentry_cache, KM_SLEEP);
306 bzero(me, sizeof (mapentry_t));
311 me->me_mof = mof;
312 me->me_nb = hnb;
313 me->me_func = func;
314 me->me_arg = arg;
315 me->me_dt = dtyp;
316 me->me_flags = ME_HASH;
317 me->me_tid = mtm->mtm_tid;
319 me->me_hash = *mep;
320 *mep = me;
321 me->me_next = (mapentry_t *)mtm;
322 me->me_prev = mtm->mtm_prev;
323 mtm->mtm_prev->me_next = me;
324 mtm->mtm_prev = me;
340 mapentry_t *me;
359 while ((me = *mep) != 0) {
360 if (MEwithinDATA(me, mof, hnb)) {
361 *mep = me->me_hash;
362 me->me_next->me_prev = me->me_prev;
363 me->me_prev->me_next = me->me_next;
364 me->me_hash = mer;
365 mer = me;
366 me->me_flags |= ME_LIST;
367 me->me_flags &= ~ME_HASH;
370 mep = &me->me_hash;
387 mapentry_t *me;
391 while ((me = menext) != 0) {
392 menext = me->me_hash;
393 kmem_cache_free(mapentry_cache, me);
410 mapentry_t *me;
421 while ((me = mtm->mtm_next) != (mapentry_t *)mtm) {
422 ASSERT(me->me_func);
423 func = me->me_func;
424 dtyp = me->me_dt;
425 arg = me->me_arg;
426 mof = me->me_mof;
427 nb = me->me_nb;
543 mapentry_t *me;
563 while ((me = *mep) != 0) {
564 if ((me->me_flags & ME_ROLL) &&
565 (MEwithinDATA(me, mof, hnb))) {
566 if (me->me_flags & ME_AGE) {
574 *mep = me->me_hash;
575 me->me_next->me_prev = me->me_prev;
576 me->me_prev->me_next = me->me_next;
577 me->me_flags &= ~(ME_HASH|ME_ROLL);
578 ASSERT(!(me->me_flags & ME_USER));
583 if ((me->me_flags & ME_CANCEL) == 0) {
584 roll_stats[me->me_dt]++;
585 CRB_RELE(me);
586 kmem_cache_free(mapentry_cache, me);
589 mep = &me->me_hash;
610 mapentry_t *me;
616 for (me = logmap->mtm_next; me != (mapentry_t *)logmap;
617 me = me->me_next) {
619 if (me->me_flags & ME_ROLL) {
624 if (me->me_tid == logmap->mtm_tid) {
629 if (me->me_tid == logmap->mtm_committid) {
639 ASSERT(!(me->me_dt == DT_CANCEL));
641 *mofp = me->me_mof;
655 mapentry_t *me;
659 for (me = *age; me; age = &me->me_agenext, me = *age) {
660 if (me->me_age > meadd->me_age)
663 meadd->me_agenext = me;
681 mapentry_t *me;
706 for (me = *mep; me; me = me->me_hash) {
707 if (me->me_dt == DT_CANCEL)
709 if (!DATAoverlapME(mof, hnb, me))
715 if (me->me_flags & ME_AGE) {
720 for (me = *age; me; me = *age) {
721 *age = me->me_agenext;
722 me->me_flags &= ~ME_AGE;
733 logmap_list_age(age, me);
734 crb = me->me_crb;
740 if (DATAwithinME(savmof, savnb, me)) {
760 mapentry_t *me, **mep, *age = NULL;
775 for (me = *mep; me; me = me->me_hash) {
776 if (!DATAoverlapME(mof, MAPBLOCKSIZE, me))
778 if (me->me_tid == logmap->mtm_tid)
780 if (me->me_tid == logmap->mtm_committid)
782 if (me->me_dt == DT_CANCEL)
790 if (me->me_flags & ME_AGE) {
791 for (me = age; me; me = age) {
792 age = me->me_agenext;
793 me->me_flags &= ~ME_AGE;
799 logmap_list_age(&age, me);
809 for (me = age; me; me = me->me_agenext) {
810 me->me_flags |= ME_ROLL;
818 for (me = age; me; me = me->me_agenext) {
819 if (me->me_crb != crb) {
840 mapentry_t *me;
844 for (me = age; me; me = age) {
845 age = me->me_agenext;
846 me->me_flags &= ~ME_AGE;
854 mapentry_t *me;
858 for (me = age; me; me = age) {
859 age = me->me_agenext;
860 me->me_flags &= ~ME_AGE;
882 mapentry_t *me;
895 for (me = age; me; me = me->me_agenext) {
896 crb = me->me_crb;
901 nb = me->me_nb;
902 mof = me->me_mof;
920 if (me->me_dt != DT_INODE) {
1001 mapentry_t *me, **mep;
1014 while ((me = mtm->mtm_cancel) != NULL) {
1015 mtm->mtm_cancel = me->me_cancel;
1016 me->me_flags &= ~ME_CANCEL;
1017 me->me_cancel = NULL;
1032 while ((me = *mep) != NULL) {
1033 if (me->me_tid == tid ||
1034 me->me_tid == mtm->mtm_committid) {
1035 *mep = me->me_hash;
1036 me->me_next->me_prev = me->me_prev;
1037 me->me_prev->me_next = me->me_next;
1038 if (!(me->me_flags & ME_USER)) {
1041 CRB_RELE(me);
1042 kmem_cache_free(mapentry_cache, me);
1045 mep = &me->me_hash;
1061 logmap_wait_space(mt_map_t *mtm, ml_unit_t *ul, mapentry_t *me)
1065 while (!ldl_has_space(ul, me)) {
1090 mapentry_t *me;
1115 while ((me = *mep) != 0) {
1127 if (MEwithinDATA(me, mof, nb) &&
1128 ((me->me_flags & (ME_ROLL|ME_CANCEL)) == 0)) {
1129 if (tid == me->me_tid &&
1130 ((me->me_flags & ME_AGE) == 0)) {
1131 *mep = me->me_hash;
1132 me->me_next->me_prev = me->me_prev;
1133 me->me_prev->me_next = me->me_next;
1134 ASSERT(!(me->me_flags & ME_USER));
1142 if (me->me_dt == DT_QR)
1143 HANDLE_DQUOT(me, melist);
1145 kmem_cache_free(mapentry_cache, me);
1148 me->me_cancel = mtm->mtm_cancel;
1149 mtm->mtm_cancel = me;
1150 me->me_flags |= ME_CANCEL;
1159 me = melist;
1161 me->me_flags &= ~ME_LIST;
1166 ldl_write(ul, va, vamof, me);
1168 kmem_cache_free(mapentry_cache, me);
1173 map_check_ldl_write(ul, va, vamof, me));
1179 me->me_hash = *savmep;
1180 *savmep = me;
1181 me->me_next = (mapentry_t *)mtm;
1182 me->me_prev = mtm->mtm_prev;
1183 mtm->mtm_prev->me_next = me;
1184 mtm->mtm_prev = me;
1185 me->me_flags |= ME_HASH;
1186 me->me_tid = tid;
1187 me->me_age = mtm->mtm_age++;
1217 mapentry_t *me;
1244 while ((me = *mep) != 0) {
1256 crb = me->me_crb;
1257 if (MEwithinDATA(me, mof, nb) &&
1258 ((me->me_flags & (ME_ROLL|ME_CANCEL)) == 0)) {
1259 if (tid == me->me_tid &&
1260 ((me->me_flags & ME_AGE) == 0)) {
1261 *mep = me->me_hash;
1262 me->me_next->me_prev = me->me_prev;
1263 me->me_prev->me_next = me->me_next;
1264 ASSERT(!(me->me_flags & ME_USER));
1272 if (me->me_dt == DT_QR)
1273 HANDLE_DQUOT(me, melist);
1283 CRB_FREE(crb, me);
1290 me->me_crb = NULL;
1293 kmem_cache_free(mapentry_cache, me);
1296 me->me_cancel = mtm->mtm_cancel;
1297 mtm->mtm_cancel = me;
1298 me->me_flags |= ME_CANCEL;
1307 if ((me->me_dt == DT_INODE) && (tid == me->me_tid) &&
1359 me = melist;
1361 me->me_flags &= ~ME_LIST;
1362 me->me_crb = crbsav;
1369 ldl_write(ul, va, vamof, me); /* add to on-disk log */
1371 CRB_RELE(me);
1372 kmem_cache_free(mapentry_cache, me);
1376 map_check_ldl_write(ul, va, vamof, me));
1382 me->me_hash = *savmep;
1383 *savmep = me;
1384 me->me_next = (mapentry_t *)mtm;
1385 me->me_prev = mtm->mtm_prev;
1386 mtm->mtm_prev->me_next = me;
1387 mtm->mtm_prev = me;
1388 me->me_flags |= ME_HASH;
1389 me->me_tid = tid;
1390 me->me_age = mtm->mtm_age++;
1408 mapentry_t *me;
1429 while ((me = *cancelhead) != NULL) {
1433 if (me->me_flags & ME_AGE) {
1442 *cancelhead = me->me_cancel;
1443 me->me_cancel = NULL;
1444 me->me_flags &= ~(ME_CANCEL);
1451 if (me->me_flags & ME_ROLL)
1457 if (me->me_flags & ME_HASH) {
1458 mep = MAP_HASH(me->me_mof, mtm);
1460 if (*mep == me) {
1461 *mep = me->me_hash;
1462 me->me_next->me_prev = me->me_prev;
1463 me->me_prev->me_next = me->me_next;
1464 me->me_flags &= ~(ME_HASH);
1465 if (!(me->me_flags & ME_USER)) {
1476 CRB_RELE(me);
1477 kmem_cache_free(mapentry_cache, me);
1491 mapentry_t me;
1504 me.me_mof = mtm->mtm_tid;
1505 me.me_dt = DT_COMMIT;
1506 me.me_nb = 0;
1507 me.me_hash = NULL;
1508 logmap_wait_space(mtm, ul, &me);
1509 ldl_write(ul, NULL, (offset_t)0, &me);
1532 mapentry_t *me;
1542 me = mtm->mtm_next;
1543 while (me != (mapentry_t *)mtm && me->me_lof == 0) {
1544 me = me->me_next;
1547 if (me == (mapentry_t *)mtm)
1550 lof = me->me_lof;
1551 tid = me->me_tid;
1593 mapentry_t *me;
1606 for (me = mtm->mtm_next; me != (mapentry_t *)mtm; me = me->me_next) {
1607 if (me->me_flags & ME_ROLL)
1609 if (me->me_tid == mtm->mtm_tid)
1611 if (me->me_tid == mtm->mtm_committid)
1620 if (me != (mapentry_t *)mtm) {
1639 mapentry_t *me;
1653 me = kmem_cache_alloc(mapentry_cache, KM_SLEEP);
1654 bzero(me, sizeof (mapentry_t));
1659 me->me_mof = mof;
1660 me->me_nb = nb;
1661 me->me_dt = DT_CANCEL;
1662 me->me_tid = mtm->mtm_tid;
1663 me->me_hash = NULL;
1676 logmap_wait_space(mtm, ul, me);
1677 ldl_write(ul, NULL, (offset_t)0, me);
1679 kmem_cache_free(mapentry_cache, me);
1690 me->me_age = mtm->mtm_age++;
1691 me->me_hash = *mep;
1692 *mep = me;
1693 me->me_next = (mapentry_t *)mtm;
1694 me->me_prev = mtm->mtm_prev;
1695 mtm->mtm_prev->me_next = me;
1696 mtm->mtm_prev = me;
1697 me->me_cancel = mtm->mtm_cancel;
1698 mtm->mtm_cancel = me;
1703 me->me_flags = ME_USER;
1705 me->me_flags |= (ME_HASH|ME_CANCEL);
1724 mapentry_t *me;
1745 for (me = *mep; me; me = me->me_hash) {
1746 if (!DATAoverlapME(mof, hnb, me))
1749 ASSERT(MEwithinDATA(me, mof, hnb));
1751 if ((me->me_flags & ME_CANCEL) == 0) {
1752 me->me_cancel = mtm->mtm_cancel;
1753 mtm->mtm_cancel = me;
1754 me->me_flags |= ME_CANCEL;
1755 crb = me->me_crb;
1781 mapentry_t *me;
1793 for (me = *mep; me; me = me->me_hash) {
1794 if (((me->me_flags & ME_ROLL) == 0) &&
1795 (me->me_dt != DT_CANCEL))
1797 if (DATAoverlapME(mof, hnb, me))
1804 if (me) {
1816 mapentry_t *me;
1872 me = kmem_cache_alloc(mapentry_cache, KM_SLEEP);
1873 bzero(me, sizeof (mapentry_t));
1874 me->me_lof = lof;
1875 me->me_mof = dp->d_mof;
1876 me->me_nb = dp->d_nb;
1877 me->me_tid = mtm->mtm_tid;
1878 me->me_dt = dp->d_typ;
1879 me->me_hash = NULL;
1880 me->me_flags = (ME_LIST | ME_SCAN);
1881 logmap_add(ul, NULL, 0, me);
1884 me->me_flags |= ME_CANCEL;
1885 me->me_cancel = mtm->mtm_cancel;
1886 mtm->mtm_cancel = me;
1982 handle_dquot(mapentry_t *me)
1988 dqp = (struct dquot *)me->me_arg;