Lines Matching full:log

15  *	log manager configuration parameters
18 /* log page size */
22 #define LOGPAGES 16 /* Log pages per mounted file system */
25 * log logical volume
27 * a log is used to make the commit operation on journalled
29 * a log is implemented with a logical volume.
30 * there is one log per logical volume group.
32 * block 0 of the log logical volume is not used (ipl etc).
33 * block 1 contains a log "superblock" and is used by logFormat(),
35 * of the log but is not otherwise used during normal processing.
36 * blocks 2 - (N-1) are used to contain log records.
43 * log superblock (block 1 of logical volume)
51 #define MAX_ACTIVE 128 /* Max active file systems sharing log */
54 __le32 magic; /* 4: log lv identifier */
56 __le32 serial; /* 4: log open/mount counter */
64 __le32 end; /* 4: addr of last log record set by logredo */
72 /* log flag: commit option (see jfs_filsys.h) */
74 /* log state */
75 #define LOGMOUNT 0 /* log mounted by lmLogInit() */
76 #define LOGREDONE 1 /* log shutdown by lmLogShutdown().
77 * log redo completed by logredo().
79 #define LOGWRAP 2 /* log wrapped */
80 #define LOGREADERR 3 /* log read error detected in logredo() */
84 * log logical page
92 * and needs to be recognized during log replay. The xor value is
93 * an "exclusive or" of all log words in the page up to eor. This
97 * the log page.
111 __le32 page; /* 4: log sequence page number */
113 __le16 eor; /* 2: end-of-log offset of lasrt record write */
116 __le32 data[LOGPSIZE / 4 - 4]; /* log record area */
125 #define LOGPHDRSIZE 8 /* log page header size */
126 #define LOGPTLRSIZE 8 /* log page trailer size */
130 * log record
133 * jfs uses only "after" log records (only a single writer is allowed
137 * the log records containing the after values and the commit
138 * record is written to the log on disk, undo discards the copy
141 * a log record consists of a data area of variable length followed by
147 * records are packed one after the other in the data area of log pages.
154 /* log record types */
164 /* REDOPAGE/NOREDOPAGE log record data type */
177 /* UPDATEMAP log record descriptor type */
192 __le32 logtid; /* 4: log transaction identifier */
229 * in the log with the same page block number to this page.
261 * record in the log with the any of the 4 page block
276 * SYNCPT: log sync point
278 * replay log up to syncpt address specified;
306 * do not apply records which precede this record in the log
336 } log; member
351 * log logical volume
359 struct file *bdev_file; /* 4: log lv pointer */
360 int serial; /* 4: log mount serial number */
362 s64 base; /* @8: log extent address (inline log ) */
363 int size; /* 4: log size in log page (in page) */
371 /* log write */
372 int logtid; /* 4: log tid */
375 struct lbuf *bp; /* 4: current log page buffer */
377 struct mutex loglock; /* 4: log write serialization lock */
391 int logsize; /* 4: log data area size in byte */
392 int lsn; /* 4: end-of-log */
398 struct lbuf *wqueue; /* 4: log pageout queue */
400 uuid_t uuid; /* 16: 128-bit uuid of log device */
406 * Log flag
432 * log cache buffer header
435 struct jfs_log *l_log; /* 4: log associated with buffer */
445 int l_pn; /* 4: log page number */
446 int l_eor; /* 4: log record eor */
447 int l_ceor; /* 4: committed log record eor */
449 s64 l_blkno; /* 8: log page block number */
469 s32 lsn; /* log sequence number */
470 struct list_head synclist; /* log sync list link */
474 * logsynclist serialization (per log)
477 #define LOGSYNC_LOCK_INIT(log) spin_lock_init(&(log)->synclock) argument
478 #define LOGSYNC_LOCK(log, flags) spin_lock_irqsave(&(log)->synclock, flags) argument
479 #define LOGSYNC_UNLOCK(log, flags) \ argument
480 spin_unlock_irqrestore(&(log)->synclock, flags)
483 #define logdiff(diff, lsn, log)\ argument
485 diff = (lsn) - (log)->syncpt;\
487 diff += (log)->logsize;\
492 extern int lmLogShutdown(struct jfs_log * log);
493 extern int lmLogInit(struct jfs_log * log);
494 extern int lmLogFormat(struct jfs_log *log, s64 logAddress, int logSize);
497 extern void jfs_flush_journal(struct jfs_log * log, int wait);
498 extern void jfs_syncpt(struct jfs_log *log, int hard_sync);