• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/fs/jfs/

Lines Matching defs:tblk

165 static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
167 static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
169 static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
171 static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
174 struct tblock * tblk);
175 static void txForce(struct tblock * tblk);
176 static int txLog(struct jfs_log * log, struct tblock * tblk,
178 static void txUpdateMap(struct tblock * tblk);
179 static void txRelease(struct tblock * tblk);
180 static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
365 struct tblock *tblk;
410 tblk = tid_to_tblock(t);
412 if ((tblk->next == 0) && !(flag & COMMIT_FORCE)) {
413 /* Don't let a non-forced transaction take the last tblk */
420 TxAnchor.freetid = tblk->next;
428 * awakened after sleeping on tblk->waitor
430 * memset(tblk, 0, sizeof(struct tblock));
432 tblk->next = tblk->last = tblk->xflag = tblk->flag = tblk->lsn = 0;
434 tblk->sb = sb;
436 tblk->logtid = log->logtid;
503 struct tblock *tblk = tid_to_tblock(tid);
513 TXN_WAKEUP(&tblk->waitor);
515 log = JFS_SBI(tblk->sb)->log;
525 if (tblk->flag & tblkGC_LAZY) {
526 jfs_info("txEnd called w/lazy tid: %d, tblk = 0x%p", tid, tblk);
530 tblk->flag |= tblkGC_UNLOCKED;
535 jfs_info("txEnd: tid: %d, tblk = 0x%p", tid, tblk);
537 assert(tblk->next == 0);
542 tblk->next = TxAnchor.freetid;
602 struct tblock *tblk;
644 tblk = tid_to_tblock(tid);
679 if (tblk->next)
680 lid_to_tlock(tblk->last)->next = lid;
682 tblk->next = lid;
684 tblk->last = lid;
746 tblk = tid_to_tblock(tid);
747 if (tblk->next)
748 lid_to_tlock(tblk->last)->next = lid;
750 tblk->next = lid;
752 tblk->last = lid;
873 * tblk -
877 static void txRelease(struct tblock * tblk)
885 for (lid = tblk->next; lid; lid = tlck->next) {
898 TXN_WAKEUP(&tblk->waitor);
909 static void txUnlock(struct tblock * tblk)
919 jfs_info("txUnlock: tblk = 0x%p", tblk);
920 log = JFS_SBI(tblk->sb)->log;
925 for (lid = tblk->next; lid; lid = next) {
946 logdiff(difft, tblk->clsn, log);
949 mp->clsn = tblk->clsn;
951 mp->clsn = tblk->clsn;
975 tblk->next = tblk->last = 0;
979 * (allocation map pages inherited lsn of tblk and
982 if (tblk->lsn) {
985 list_del(&tblk->synclist);
1000 struct tblock *tblk;
1031 tblk = tid_to_tblock(tid);
1032 if (tblk->next)
1033 lid_to_tlock(tblk->last)->next = lid;
1035 tblk->next = lid;
1037 tblk->last = lid;
1144 struct tblock *tblk;
1165 tblk = tid_to_tblock(tid);
1175 lrd->logtid = cpu_to_le32(tblk->logtid);
1178 tblk->xflag |= flag;
1181 tblk->xflag |= COMMIT_LAZY;
1238 * && (tblk->flag & COMMIT_DELETE) == 0)
1251 lid_to_tlock(jfs_ip->atltail)->next = tblk->next;
1252 tblk->next = jfs_ip->atlhead;
1253 if (!tblk->last)
1254 tblk->last = jfs_ip->atltail;
1263 * (become first tlock of the tblk's tlock list)
1274 if ((rc = txLog(log, tblk, &cd)))
1281 if (tblk->xflag & COMMIT_DELETE) {
1282 atomic_inc(&tblk->u.ip->i_count);
1300 if (tblk->u.ip->i_state & I_SYNC)
1301 tblk->xflag &= ~COMMIT_LAZY;
1304 ASSERT((!(tblk->xflag & COMMIT_DELETE)) ||
1305 ((tblk->u.ip->i_nlink == 0) &&
1306 !test_cflag(COMMIT_Nolink, tblk->u.ip)));
1313 lsn = lmLog(log, tblk, lrd, NULL);
1315 lmGroupCommit(log, tblk);
1326 txForce(tblk);
1337 if (tblk->xflag & COMMIT_FORCE)
1338 txUpdateMap(tblk);
1343 txRelease(tblk);
1345 if ((tblk->flag & tblkGC_LAZY) == 0)
1346 txUnlock(tblk);
1383 static int txLog(struct jfs_log * log, struct tblock * tblk, struct commit * cd)
1394 for (lid = tblk->next; lid; lid = tlck->next) {
1408 xtLog(log, tblk, lrd, tlck);
1412 dtLog(log, tblk, lrd, tlck);
1416 diLog(log, tblk, lrd, tlck, cd);
1420 mapLog(log, tblk, lrd, tlck);
1424 dataLog(log, tblk, lrd, tlck);
1440 static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1464 mp->logical_size >> tblk->sb->s_blocksize_bits);
1465 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1502 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1537 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1553 static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1584 PXDlength(pxd, mp->logical_size >> tblk->sb->s_blocksize_bits);
1586 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1599 static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1635 mp->logical_size >> tblk->sb->s_blocksize_bits);
1636 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1664 mp->logical_size >> tblk->sb->s_blocksize_bits);
1665 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1687 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1702 static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1754 mp->logical_size >> tblk->sb->s_blocksize_bits);
1755 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1775 if ((xadlock->count <= 4) && (tblk->xflag & COMMIT_LAZY)) {
1801 tblk->xflag &= ~COMMIT_LAZY;
1838 if (tblk->xflag & COMMIT_TRUNCATE) {
1843 mp->logical_size >> tblk->sb->
1846 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1852 cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1870 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1878 if ((xadlock->count <= 4) && (tblk->xflag & COMMIT_LAZY)) {
1904 tblk->xflag &= ~COMMIT_LAZY;
1912 if (((tblk->xflag & COMMIT_PWMAP) || S_ISDIR(ip->i_mode))
1916 else (tblk->xflag & COMMIT_PMAP)
1944 tblk->xflag &= ~COMMIT_LAZY;
1965 mp->logical_size >> tblk->sb->s_blocksize_bits);
1966 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1985 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2008 cpu_to_le32(lmLog(log, tblk, lrd, tlck));
2088 static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
2110 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2126 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2158 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2227 static void txForce(struct tblock * tblk)
2238 tlck = lid_to_tlock(tblk->next);
2244 tlck->next = tblk->next;
2245 tblk->next = lid;
2253 for (lid = tblk->next; lid; lid = next) {
2279 static void txUpdateMap(struct tblock * tblk)
2291 ipimap = JFS_SBI(tblk->sb)->ipimap;
2293 maptype = (tblk->xflag & COMMIT_PMAP) ? COMMIT_PMAP : COMMIT_PWMAP;
2308 for (lid = tblk->next; lid; lid = tlck->next) {
2342 txAllocPMap(ipimap, maplock, tblk);
2362 tblk, COMMIT_PWMAP);
2365 tblk, maptype);
2369 if (!(tblk->flag & tblkGC_LAZY)) {
2389 if (tblk->xflag & COMMIT_CREATE) {
2390 diUpdatePMap(ipimap, tblk->ino, false, tblk);
2395 pxdlock.pxd = tblk->u.ixpxd;
2397 txAllocPMap(ipimap, (struct maplock *) & pxdlock, tblk);
2398 } else if (tblk->xflag & COMMIT_DELETE) {
2399 ip = tblk->u.ip;
2400 diUpdatePMap(ipimap, ip->i_ino, true, tblk);
2426 struct tblock * tblk)
2449 (s64) xlen, tblk);
2459 dbUpdatePMap(ipbmap, false, xaddr, (s64) xlen, tblk);
2469 tblk);
2484 struct maplock * maplock, struct tblock * tblk, int maptype)
2496 jfs_info("txFreeMap: tblk:0x%p maplock:0x%p maptype:0x%x",
2497 tblk, maplock, maptype);
2511 (s64) xlen, tblk);
2522 tblk);
2533 (s64) xlen, tblk);
2632 struct tblock *tblk = tid_to_tblock(tid);
2638 for (lid = tblk->next; lid; lid = next) {
2666 tblk->next = tblk->last = 0;
2672 jfs_error(tblk->sb, "txAbort");
2685 static void txLazyCommit(struct tblock * tblk)
2689 while (((tblk->flag & tblkGC_READY) == 0) &&
2690 ((tblk->flag & tblkGC_UNLOCKED) == 0)) {
2693 jfs_info("jfs_lazycommit: tblk 0x%p not unlocked", tblk);
2697 jfs_info("txLazyCommit: processing tblk 0x%p", tblk);
2699 txUpdateMap(tblk);
2701 log = (struct jfs_log *) JFS_SBI(tblk->sb)->log;
2705 tblk->flag |= tblkGC_COMMITTED;
2707 if (tblk->flag & tblkGC_READY)
2710 wake_up_all(&tblk->gcwait); // LOGGC_WAKEUP
2713 * Can't release log->gclock until we've tested tblk->flag
2715 if (tblk->flag & tblkGC_LAZY) {
2717 txUnlock(tblk);
2718 tblk->flag &= ~tblkGC_LAZY;
2719 txEnd(tblk - TxBlock); /* Convert back to tid */
2723 jfs_info("txLazyCommit: done: tblk = 0x%p", tblk);
2736 struct tblock *tblk;
2745 list_for_each_entry(tblk, &TxAnchor.unlock_queue,
2748 sbi = JFS_SBI(tblk->sb);
2752 * is handling a tblk for this superblock,
2764 list_del(&tblk->cqueue);
2767 txLazyCommit(tblk);
2808 void txLazyUnlock(struct tblock * tblk)
2814 list_add_tail(&tblk->cqueue, &TxAnchor.unlock_queue);
2819 if (!(JFS_SBI(tblk->sb)->commit_state & IN_LAZYCOMMIT) &&