diff options
Diffstat (limited to 'fs/jfs/jfs_logmgr.h')
-rw-r--r-- | fs/jfs/jfs_logmgr.h | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/fs/jfs/jfs_logmgr.h b/fs/jfs/jfs_logmgr.h index 8c6909b..a53fb17 100644 --- a/fs/jfs/jfs_logmgr.h +++ b/fs/jfs/jfs_logmgr.h @@ -4,16 +4,16 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software + * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _H_JFS_LOGMGR @@ -35,19 +35,19 @@ /* * log logical volume * - * a log is used to make the commit operation on journalled + * a log is used to make the commit operation on journalled * files within the same logical volume group atomic. * a log is implemented with a logical volume. - * there is one log per logical volume group. + * there is one log per logical volume group. * * block 0 of the log logical volume is not used (ipl etc). * block 1 contains a log "superblock" and is used by logFormat(), - * lmLogInit(), lmLogShutdown(), and logRedo() to record status - * of the log but is not otherwise used during normal processing. + * lmLogInit(), lmLogShutdown(), and logRedo() to record status + * of the log but is not otherwise used during normal processing. * blocks 2 - (N-1) are used to contain log records. * - * when a volume group is varied-on-line, logRedo() must have - * been executed before the file systems (logical volumes) in + * when a volume group is varied-on-line, logRedo() must have + * been executed before the file systems (logical volumes) in * the volume group can be mounted. */ /* @@ -97,26 +97,26 @@ struct logsuper { * log logical page * * (this comment should be rewritten !) - * the header and trailer structures (h,t) will normally have + * the header and trailer structures (h,t) will normally have * the same page and eor value. - * An exception to this occurs when a complete page write is not + * An exception to this occurs when a complete page write is not * accomplished on a power failure. Since the hardware may "split write" - * sectors in the page, any out of order sequence may occur during powerfail + * sectors in the page, any out of order sequence may occur during powerfail * and needs to be recognized during log replay. The xor value is * an "exclusive or" of all log words in the page up to eor. This * 32 bit eor is stored with the top 16 bits in the header and the * bottom 16 bits in the trailer. logredo can easily recognize pages - * that were not completed by reconstructing this eor and checking + * that were not completed by reconstructing this eor and checking * the log page. * - * Previous versions of the operating system did not allow split - * writes and detected partially written records in logredo by - * ordering the updates to the header, trailer, and the move of data - * into the logdata area. The order: (1) data is moved (2) header - * is updated (3) trailer is updated. In logredo, when the header - * differed from the trailer, the header and trailer were reconciled - * as follows: if h.page != t.page they were set to the smaller of - * the two and h.eor and t.eor set to 8 (i.e. empty page). if (only) + * Previous versions of the operating system did not allow split + * writes and detected partially written records in logredo by + * ordering the updates to the header, trailer, and the move of data + * into the logdata area. The order: (1) data is moved (2) header + * is updated (3) trailer is updated. In logredo, when the header + * differed from the trailer, the header and trailer were reconciled + * as follows: if h.page != t.page they were set to the smaller of + * the two and h.eor and t.eor set to 8 (i.e. empty page). if (only) * h.eor != t.eor they were set to the smaller of their two values. */ struct logpage { @@ -147,20 +147,20 @@ struct logpage { * in a page, pages are written to temporary paging space if * if they must be written to disk before commit, and i/o is * scheduled for modified pages to their home location after - * the log records containing the after values and the commit + * the log records containing the after values and the commit * record is written to the log on disk, undo discards the copy * in main-memory.) * - * a log record consists of a data area of variable length followed by + * a log record consists of a data area of variable length followed by * a descriptor of fixed size LOGRDSIZE bytes. - * the data area is rounded up to an integral number of 4-bytes and + * the data area is rounded up to an integral number of 4-bytes and * must be no longer than LOGPSIZE. - * the descriptor is of size of multiple of 4-bytes and aligned on a - * 4-byte boundary. + * the descriptor is of size of multiple of 4-bytes and aligned on a + * 4-byte boundary. * records are packed one after the other in the data area of log pages. - * (sometimes a DUMMY record is inserted so that at least one record ends + * (sometimes a DUMMY record is inserted so that at least one record ends * on every page or the longest record is placed on at most two pages). - * the field eor in page header/trailer points to the byte following + * the field eor in page header/trailer points to the byte following * the last record on a page. */ @@ -270,11 +270,11 @@ struct lrd { /* * NOREDOINOEXT: the inode extent is freed * - * do not apply after-image records which precede this - * record in the log with the any of the 4 page block - * numbers in this inode extent. - * - * NOTE: The fileset and pxd fields MUST remain in + * do not apply after-image records which precede this + * record in the log with the any of the 4 page block + * numbers in this inode extent. + * + * NOTE: The fileset and pxd fields MUST remain in * the same fields in the REDOPAGE record format. * */ @@ -319,12 +319,10 @@ struct lrd { * do not apply records which precede this record in the log * with the same inode number. * - * NOREDILE must be the first to be written at commit + * NOREDOFILE must be the first to be written at commit * (last to be read in logredo()) - it prevents * replay of preceding updates of all preceding generations - * of the inumber esp. the on-disk inode itself, - * but does NOT prevent - * replay of the + * of the inumber esp. the on-disk inode itself. */ struct { __le32 fileset; /* 4: fileset number */ @@ -332,7 +330,7 @@ struct lrd { } noredofile; /* - * ? NEWPAGE: + * ? NEWPAGE: * * metadata type dependent */ @@ -464,7 +462,7 @@ struct lbuf { s64 l_blkno; /* 8: log page block number */ caddr_t l_ldata; /* 4: data page */ struct page *l_page; /* The page itself */ - uint l_offset; /* Offset of l_ldata within the page */ + uint l_offset; /* Offset of l_ldata within the page */ wait_queue_head_t l_ioevent; /* 4: i/o done event */ }; |