Lines Matching defs:log

151 static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
153 static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
155 static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
157 static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
162 static int txLog(struct jfs_log * log, struct tblock * tblk,
166 static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
352 struct jfs_log *log;
355 log = JFS_SBI(sb)->log;
357 if (!log) {
371 if (test_bit(log_SYNCBARRIER, &log->flag) ||
372 test_bit(log_QUIESCE, &log->flag)) {
374 TXN_SLEEP(&log->syncwait);
426 ++log->logtid;
427 tblk->logtid = log->logtid;
429 ++log->active;
454 struct jfs_log *log;
456 log = JFS_SBI(sb)->log;
465 if (test_bit(log_SYNCBARRIER, &log->flag) ||
466 test_bit(log_QUIESCE, &log->flag)) {
468 TXN_SLEEP(&log->syncwait);
495 struct jfs_log *log;
506 log = JFS_SBI(tblk->sb)->log;
520 spin_lock_irq(&log->gclock); // LOGGC_LOCK
522 spin_unlock_irq(&log->gclock); // LOGGC_UNLOCK
539 if (--log->active == 0) {
540 clear_bit(log_FLUSH, &log->flag);
545 if (test_bit(log_SYNCBARRIER, &log->flag)) {
548 /* write dirty metadata & forward log syncpt */
549 jfs_syncpt(log, 1);
551 jfs_info("log barrier off: 0x%x", log->lsn);
554 clear_bit(log_SYNCBARRIER, &log->flag);
557 TXN_WAKEUP(&log->syncwait);
906 struct jfs_log *log;
911 log = JFS_SBI(tblk->sb)->log;
914 * mark page under tlock homeok (its log has been written):
935 LOGSYNC_LOCK(log, flags);
937 logdiff(difft, tblk->clsn, log);
938 logdiff(diffp, mp->clsn, log);
943 LOGSYNC_UNLOCK(log, flags);
974 LOGSYNC_LOCK(log, flags);
975 log->count--;
977 LOGSYNC_UNLOCK(log, flags);
1058 * function: allocate a transaction lock for log vector list
1134 struct jfs_log *log;
1160 log = JFS_SBI(sb)->log;
1161 cd.log = log;
1163 /* initialize log record descriptor in commit */
1260 * write log records from transaction locks
1264 if ((rc = txLog(log, tblk, &cd)))
1299 * write COMMIT log record
1303 lmLog(log, tblk, lrd, NULL);
1305 lmGroupCommit(log, tblk);
1365 * FUNCTION: Writes AFTER log records for all lines modified
1373 static int txLog(struct jfs_log * log, struct tblock * tblk, struct commit * cd)
1382 * write log record(s) for each tlock of transaction,
1392 lrd->log.redopage.fileset = cpu_to_le32(JFS_IP(ip)->fileset);
1393 lrd->log.redopage.inode = cpu_to_le32(ip->i_ino);
1395 /* write log record of page from the tlock */
1398 xtLog(log, tblk, lrd, tlck);
1402 dtLog(log, tblk, lrd, tlck);
1406 diLog(log, tblk, lrd, tlck, cd);
1410 mapLog(log, tblk, lrd, tlck);
1414 dataLog(log, tblk, lrd, tlck);
1428 * function: log inode tlock and format maplock to update bmap;
1430 static int diLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1441 lrd->log.redopage.type = cpu_to_le16(LOG_INODE);
1442 lrd->log.redopage.l2linesize = cpu_to_le16(L2INODESLOTSIZE);
1444 pxd = &lrd->log.redopage.pxd;
1450 /* log after-image for logredo(): */
1455 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1470 * page before the log;
1473 /* log LOG_NOREDOINOEXT of the freed inode extent for
1485 lrd->log.noredoinoext.iagnum =
1487 lrd->log.noredoinoext.inoext_idx =
1492 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1511 /* log LOG_UPDATEMAP for logredo() to update bmap for
1519 lrd->log.updatemap.type =
1522 lrd->log.updatemap.type =
1524 lrd->log.updatemap.nxd = cpu_to_le16(1);
1525 lrd->log.updatemap.pxd = pxdlock->pxd;
1527 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1541 * function: log data tlock
1543 static int dataLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1552 lrd->log.redopage.type = cpu_to_le16(LOG_DATA);
1553 lrd->log.redopage.l2linesize = cpu_to_le16(L2DATASLOTSIZE);
1555 pxd = &lrd->log.redopage.pxd;
1557 /* log after-image for logredo(): */
1576 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1587 * function: log dtree tlock and format maplock to update bmap;
1589 static void dtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1599 lrd->log.redopage.type = cpu_to_le16(LOG_DTREE);
1600 lrd->log.redopage.l2linesize = cpu_to_le16(L2DTSLOTSIZE);
1602 pxd = &lrd->log.redopage.pxd;
1605 lrd->log.redopage.type |= cpu_to_le16(LOG_BTROOT);
1614 /* log after-image of the new page for logredo():
1615 * mark log (LOG_NEW) for logredo() to initialize
1620 lrd->log.redopage.type |= cpu_to_le16(LOG_EXTEND);
1622 lrd->log.redopage.type |= cpu_to_le16(LOG_NEW);
1626 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1650 /* log after-image for logredo(): */
1655 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1670 /* log LOG_NOREDOPAGE of the deleted page for logredo()
1677 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1690 * function: log xtree tlock and format maplock to update bmap;
1692 static void xtLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
1709 lrd->log.redopage.type = cpu_to_le16(LOG_XTREE);
1710 lrd->log.redopage.l2linesize = cpu_to_le16(L2XTSLOTSIZE);
1712 page_pxd = &lrd->log.redopage.pxd;
1715 lrd->log.redopage.type |= cpu_to_le16(LOG_BTROOT);
1718 lrd->log.redopage.type |=
1734 /* log after-image for logredo():
1745 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1808 * (page will be invalidated after log is written and bmap
1812 /* LOG_NOREDOPAGE log for NoRedoPage filter:
1821 * log for the page itself is generated from processing
1824 /* if page free from file truncation, log LOG_NOREDOPAGE
1836 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1842 cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1851 lrd->log.updatemap.type = cpu_to_le16(LOG_FREEXADLIST);
1854 lrd->log.updatemap.nxd =
1860 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1941 * write log records
1943 /* log after-image for logredo():
1955 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, tlck));
1969 lrd->log.updatemap.type = cpu_to_le16(LOG_FREEPXD);
1970 lrd->log.updatemap.nxd = cpu_to_le16(1);
1971 lrd->log.updatemap.pxd = pxdlock->pxd;
1974 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
1986 lrd->log.updatemap.type =
1990 lrd->log.updatemap.nxd =
1997 cpu_to_le32(lmLog(log, tblk, lrd, tlck));
2073 * function: log from maplock of freed data extents;
2075 static void mapLog(struct jfs_log * log, struct tblock * tblk, struct lrd * lrd,
2090 /* log LOG_NOREDOPAGE of the old relocated page
2095 pxd = &lrd->log.redopage.pxd;
2097 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2101 * if page free from relocation, LOG_UPDATEMAP log is
2107 * avoiding an extra log write);
2110 lrd->log.updatemap.type = cpu_to_le16(LOG_FREEPXD);
2111 lrd->log.updatemap.nxd = cpu_to_le16(1);
2112 lrd->log.updatemap.pxd = pxdlock->pxd;
2113 lrd->backchain = cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2127 /* log LOG_UPDATEMAP for logredo() to update bmap for
2137 lrd->log.updatemap.type =
2140 lrd->log.updatemap.type =
2142 lrd->log.updatemap.nxd = cpu_to_le16(1);
2143 lrd->log.updatemap.pxd = pxdlock->pxd;
2145 cpu_to_le32(lmLog(log, tblk, lrd, NULL));
2426 * lsn - log sequence number;
2627 * log age of page-frames in memory for which caller has
2689 struct jfs_log *log;
2703 log = (struct jfs_log *) JFS_SBI(tblk->sb)->log;
2705 spin_lock_irq(&log->gclock); // LOGGC_LOCK
2710 log->gcrtc--;
2715 * Can't release log->gclock until we've tested tblk->flag
2718 spin_unlock_irq(&log->gclock); // LOGGC_UNLOCK
2723 spin_unlock_irq(&log->gclock); // LOGGC_UNLOCK
2830 struct jfs_log *log = mp->log;
2833 assert(log);
2851 struct jfs_log *log = JFS_SBI(sb)->log;
2854 set_bit(log_QUIESCE, &log->flag);
2895 jfs_flush_journal(log, 0);
2905 struct jfs_log *log = JFS_SBI(sb)->log;
2907 clear_bit(log_QUIESCE, &log->flag);
2908 TXN_WAKEUP(&log->syncwait);