diff options
Diffstat (limited to 'fs/jbd2')
| -rw-r--r-- | fs/jbd2/Kconfig | 33 | ||||
| -rw-r--r-- | fs/jbd2/commit.c | 3 | ||||
| -rw-r--r-- | fs/jbd2/transaction.c | 1 |
3 files changed, 37 insertions, 0 deletions
diff --git a/fs/jbd2/Kconfig b/fs/jbd2/Kconfig new file mode 100644 index 000000000000..f32f346f4b0a --- /dev/null +++ b/fs/jbd2/Kconfig | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | config JBD2 | ||
| 2 | tristate | ||
| 3 | select CRC32 | ||
| 4 | help | ||
| 5 | This is a generic journaling layer for block devices that support | ||
| 6 | both 32-bit and 64-bit block numbers. It is currently used by | ||
| 7 | the ext4 and OCFS2 filesystems, but it could also be used to add | ||
| 8 | journal support to other file systems or block devices such | ||
| 9 | as RAID or LVM. | ||
| 10 | |||
| 11 | If you are using ext4 or OCFS2, you need to say Y here. | ||
| 12 | If you are not using ext4 or OCFS2 then you will | ||
| 13 | probably want to say N. | ||
| 14 | |||
| 15 | To compile this device as a module, choose M here. The module will be | ||
| 16 | called jbd2. If you are compiling ext4 or OCFS2 into the kernel, | ||
| 17 | you cannot compile this code as a module. | ||
| 18 | |||
| 19 | config JBD2_DEBUG | ||
| 20 | bool "JBD2 (ext4) debugging support" | ||
| 21 | depends on JBD2 && DEBUG_FS | ||
| 22 | help | ||
| 23 | If you are using the ext4 journaled file system (or | ||
| 24 | potentially any other filesystem/device using JBD2), this option | ||
| 25 | allows you to enable debugging output while the system is running, | ||
| 26 | in order to help track down any problems you are having. | ||
| 27 | By default, the debugging output will be turned off. | ||
| 28 | |||
| 29 | If you select Y here, then you will be able to turn on debugging | ||
| 30 | with "echo N > /sys/kernel/debug/jbd2/jbd2-debug", where N is a | ||
| 31 | number between 1 and 5. The higher the number, the more debugging | ||
| 32 | output is generated. To turn debugging off again, do | ||
| 33 | "echo 0 > /sys/kernel/debug/jbd2/jbd2-debug". | ||
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 0abe02c4242a..8b119e16aa36 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
| @@ -995,6 +995,9 @@ restart_loop: | |||
| 995 | } | 995 | } |
| 996 | spin_unlock(&journal->j_list_lock); | 996 | spin_unlock(&journal->j_list_lock); |
| 997 | 997 | ||
| 998 | if (journal->j_commit_callback) | ||
| 999 | journal->j_commit_callback(journal, commit_transaction); | ||
| 1000 | |||
| 998 | trace_mark(jbd2_end_commit, "dev %s transaction %d head %d", | 1001 | trace_mark(jbd2_end_commit, "dev %s transaction %d head %d", |
| 999 | journal->j_devname, commit_transaction->t_tid, | 1002 | journal->j_devname, commit_transaction->t_tid, |
| 1000 | journal->j_tail_sequence); | 1003 | journal->j_tail_sequence); |
diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c index e5d540588fa9..39b7805a599a 100644 --- a/fs/jbd2/transaction.c +++ b/fs/jbd2/transaction.c | |||
| @@ -52,6 +52,7 @@ jbd2_get_transaction(journal_t *journal, transaction_t *transaction) | |||
| 52 | transaction->t_expires = jiffies + journal->j_commit_interval; | 52 | transaction->t_expires = jiffies + journal->j_commit_interval; |
| 53 | spin_lock_init(&transaction->t_handle_lock); | 53 | spin_lock_init(&transaction->t_handle_lock); |
| 54 | INIT_LIST_HEAD(&transaction->t_inode_list); | 54 | INIT_LIST_HEAD(&transaction->t_inode_list); |
| 55 | INIT_LIST_HEAD(&transaction->t_private_list); | ||
| 55 | 56 | ||
| 56 | /* Set up the commit timer for the new transaction. */ | 57 | /* Set up the commit timer for the new transaction. */ |
| 57 | journal->j_commit_timer.expires = round_jiffies(transaction->t_expires); | 58 | journal->j_commit_timer.expires = round_jiffies(transaction->t_expires); |
