Lines Matching +full:record +full:- +full:size

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright (C) International Business Machines Corp., 2000-2004
4 * Portions Copyright (C) Christoph Hellwig, 2001-2002
18 /* log page size */
34 * lmLogInit(), lmLogShutdown(), and logRedo() to record status
36 * blocks 2 - (N-1) are used to contain log records.
38 * when a volume group is varied-on-line, logRedo() must have
57 __le32 size; /* 4: size in number of LOGPSIZE blocks */ member
58 __le32 bsize; /* 4: logical block size in byte */
62 __le32 state; /* 4: state - see below */
64 __le32 end; /* 4: addr of last log record set by logredo */
65 uuid_t uuid; /* 16: 128-bit journal uuid */
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
138 * record is written to the log on disk, undo discards the copy
139 * in main-memory.)
141 * a log record consists of a data area of variable length followed by
142 * a descriptor of fixed size LOGRDSIZE bytes.
143 * the data area is rounded up to an integral number of 4-bytes and
145 * the descriptor is of size of multiple of 4-bytes and aligned on a
146 * 4-byte boundary.
148 * (sometimes a DUMMY record is inserted so that at least one record ends
149 * on every page or the longest record is placed on at most two pages).
151 * the last record on a page.
154 /* log record types */
164 /* REDOPAGE/NOREDOPAGE log record data type */
177 /* UPDATEMAP log record descriptor type */
193 __le32 backchain; /* 4: ptr to prev record of same transaction */
194 __le16 type; /* 2: record type */
195 __le16 length; /* 2: length of data in record (in byte) */
207 * transaction commit: no type-dependent information;
211 * REDOPAGE: after-image
213 * apply after-image;
220 __le16 type; /* 2: REDOPAGE record type */
221 __le16 l2linesize; /* 2: log2 of line size */
222 pxd_t pxd; /* 8: on-disk page pxd */
228 * do not apply after-image records which precede this record
236 __le16 type; /* 2: NOREDOPAGE record type */
238 pxd_t pxd; /* 8: on-disk page pxd */
244 * either in-line PXD,
245 * or out-of-line XADLIST;
252 __le16 type; /* 2: UPDATEMAP record type */
260 * do not apply after-image records which precede this
261 * record in the log with the any of the 4 page block
265 * the same fields in the REDOPAGE record format.
272 pxd_t pxd; /* 8: on-disk page pxd */
287 * file system mount: no type-dependent information;
297 __le32 type; /* 4: FREEXTENT record type */
306 * do not apply records which precede this record in the log
310 * (last to be read in logredo()) - it prevents
312 * of the inumber esp. the on-disk inode itself.
327 __le32 type; /* 4: NEWPAGE record type */
328 pxd_t pxd; /* 8: on-disk page pxd */
334 * no type-dependent information
363 int size; /* 4: log size in log page (in page) */ member
374 int eor; /* 4: eor of last record in eol page */
391 int logsize; /* 4: log data area size in byte */
392 int lsn; /* 4: end-of-log */
394 int syncpt; /* 4: addr of last syncpt record */
400 uuid_t uuid; /* 16: 128-bit uuid of log device */
446 int l_eor; /* 4: log record eor */
447 int l_ceor; /* 4: committed log record eor */
477 #define LOGSYNC_LOCK_INIT(log) spin_lock_init(&(log)->synclock)
478 #define LOGSYNC_LOCK(log, flags) spin_lock_irqsave(&(log)->synclock, flags)
480 spin_unlock_irqrestore(&(log)->synclock, flags)
485 diff = (lsn) - (log)->syncpt;\
487 diff += (log)->logsize;\