diff options
author | Joel Becker <joel.becker@oracle.com> | 2008-09-11 18:53:07 -0400 |
---|---|---|
committer | Mark Fasheh <mfasheh@suse.com> | 2009-01-05 11:40:31 -0500 |
commit | 50655ae9e91d272d48997bada59efe166aa5e343 (patch) | |
tree | ca821943897781fe4852c6ac447ccb4760ec8c65 /fs/ocfs2/journal.h | |
parent | d6b32bbb3eae3fb787f1c33bf9f767ca1ddeb208 (diff) |
ocfs2: Add journal_access functions with jbd2 triggers.
We create wrappers for ocfs2_journal_access() that are specific to the
type of metadata block. This allows us to associate jbd2 commit
triggers with the block. The triggers will compute metadata ecc in a
future commit.
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
Diffstat (limited to 'fs/ocfs2/journal.h')
-rw-r--r-- | fs/ocfs2/journal.h | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/fs/ocfs2/journal.h b/fs/ocfs2/journal.h index 37013bf9ce28..bca370dab021 100644 --- a/fs/ocfs2/journal.h +++ b/fs/ocfs2/journal.h | |||
@@ -212,9 +212,12 @@ static inline void ocfs2_checkpoint_inode(struct inode *inode) | |||
212 | * ocfs2_extend_trans - Extend a handle by nblocks credits. This may | 212 | * ocfs2_extend_trans - Extend a handle by nblocks credits. This may |
213 | * commit the handle to disk in the process, but will | 213 | * commit the handle to disk in the process, but will |
214 | * not release any locks taken during the transaction. | 214 | * not release any locks taken during the transaction. |
215 | * ocfs2_journal_access - Notify the handle that we want to journal this | 215 | * ocfs2_journal_access* - Notify the handle that we want to journal this |
216 | * buffer. Will have to call ocfs2_journal_dirty once | 216 | * buffer. Will have to call ocfs2_journal_dirty once |
217 | * we've actually dirtied it. Type is one of . or . | 217 | * we've actually dirtied it. Type is one of . or . |
218 | * Always call the specific flavor of | ||
219 | * ocfs2_journal_access_*() unless you intend to | ||
220 | * manage the checksum by hand. | ||
218 | * ocfs2_journal_dirty - Mark a journalled buffer as having dirty data. | 221 | * ocfs2_journal_dirty - Mark a journalled buffer as having dirty data. |
219 | * ocfs2_jbd2_file_inode - Mark an inode so that its data goes out before | 222 | * ocfs2_jbd2_file_inode - Mark an inode so that its data goes out before |
220 | * the current handle commits. | 223 | * the current handle commits. |
@@ -244,10 +247,28 @@ int ocfs2_extend_trans(handle_t *handle, int nblocks); | |||
244 | #define OCFS2_JOURNAL_ACCESS_WRITE 1 | 247 | #define OCFS2_JOURNAL_ACCESS_WRITE 1 |
245 | #define OCFS2_JOURNAL_ACCESS_UNDO 2 | 248 | #define OCFS2_JOURNAL_ACCESS_UNDO 2 |
246 | 249 | ||
247 | int ocfs2_journal_access(handle_t *handle, | 250 | /* ocfs2_inode */ |
248 | struct inode *inode, | 251 | int ocfs2_journal_access_di(handle_t *handle, struct inode *inode, |
249 | struct buffer_head *bh, | 252 | struct buffer_head *bh, int type); |
250 | int type); | 253 | /* ocfs2_extent_block */ |
254 | int ocfs2_journal_access_eb(handle_t *handle, struct inode *inode, | ||
255 | struct buffer_head *bh, int type); | ||
256 | /* ocfs2_group_desc */ | ||
257 | int ocfs2_journal_access_gd(handle_t *handle, struct inode *inode, | ||
258 | struct buffer_head *bh, int type); | ||
259 | /* ocfs2_xattr_block */ | ||
260 | int ocfs2_journal_access_xb(handle_t *handle, struct inode *inode, | ||
261 | struct buffer_head *bh, int type); | ||
262 | /* quota blocks */ | ||
263 | int ocfs2_journal_access_dq(handle_t *handle, struct inode *inode, | ||
264 | struct buffer_head *bh, int type); | ||
265 | /* dirblock */ | ||
266 | int ocfs2_journal_access_db(handle_t *handle, struct inode *inode, | ||
267 | struct buffer_head *bh, int type); | ||
268 | /* Anything that has no ecc */ | ||
269 | int ocfs2_journal_access(handle_t *handle, struct inode *inode, | ||
270 | struct buffer_head *bh, int type); | ||
271 | |||
251 | /* | 272 | /* |
252 | * A word about the journal_access/journal_dirty "dance". It is | 273 | * A word about the journal_access/journal_dirty "dance". It is |
253 | * entirely legal to journal_access a buffer more than once (as long | 274 | * entirely legal to journal_access a buffer more than once (as long |