diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-02 12:57:34 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-02 12:57:34 -0500 |
| commit | 5439ca6b8ff8cf8d758c19eb28b617a5912904ee (patch) | |
| tree | 676f9e0b25074d2d8c5ab29df30c962b3cb7311e /include | |
| parent | a7a88b23737095e6c18a20c5d4eef9e25ec5b829 (diff) | |
| parent | 0e9a9a1ad619e7e987815d20262d36a2f95717ca (diff) | |
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 bug fixes from Ted Ts'o:
"Various bug fixes for ext4. Perhaps the most serious bug fixed is one
which could cause file system corruptions when performing file punch
operations."
* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: avoid hang when mounting non-journal filesystems with orphan list
ext4: lock i_mutex when truncating orphan inodes
ext4: do not try to write superblock on ro remount w/o journal
ext4: include journal blocks in df overhead calcs
ext4: remove unaligned AIO warning printk
ext4: fix an incorrect comment about i_mutex
ext4: fix deadlock in journal_unmap_buffer()
ext4: split off ext4_journalled_invalidatepage()
jbd2: fix assertion failure in jbd2_journal_flush()
ext4: check dioread_nolock on remount
ext4: fix extent tree corruption caused by hole punch
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/jbd2.h | 2 | ||||
| -rw-r--r-- | include/trace/events/ext4.h | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 1be23d9fdacb..e30b66346942 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
| @@ -1098,7 +1098,7 @@ void jbd2_journal_set_triggers(struct buffer_head *, | |||
| 1098 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); | 1098 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); |
| 1099 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); | 1099 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); |
| 1100 | extern void journal_sync_buffer (struct buffer_head *); | 1100 | extern void journal_sync_buffer (struct buffer_head *); |
| 1101 | extern void jbd2_journal_invalidatepage(journal_t *, | 1101 | extern int jbd2_journal_invalidatepage(journal_t *, |
| 1102 | struct page *, unsigned long); | 1102 | struct page *, unsigned long); |
| 1103 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); | 1103 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); |
| 1104 | extern int jbd2_journal_stop(handle_t *); | 1104 | extern int jbd2_journal_stop(handle_t *); |
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index f6372b011366..7e8c36bc7082 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h | |||
| @@ -451,7 +451,7 @@ DEFINE_EVENT(ext4__page_op, ext4_releasepage, | |||
| 451 | TP_ARGS(page) | 451 | TP_ARGS(page) |
| 452 | ); | 452 | ); |
| 453 | 453 | ||
| 454 | TRACE_EVENT(ext4_invalidatepage, | 454 | DECLARE_EVENT_CLASS(ext4_invalidatepage_op, |
| 455 | TP_PROTO(struct page *page, unsigned long offset), | 455 | TP_PROTO(struct page *page, unsigned long offset), |
| 456 | 456 | ||
| 457 | TP_ARGS(page, offset), | 457 | TP_ARGS(page, offset), |
| @@ -477,6 +477,18 @@ TRACE_EVENT(ext4_invalidatepage, | |||
| 477 | (unsigned long) __entry->index, __entry->offset) | 477 | (unsigned long) __entry->index, __entry->offset) |
| 478 | ); | 478 | ); |
| 479 | 479 | ||
| 480 | DEFINE_EVENT(ext4_invalidatepage_op, ext4_invalidatepage, | ||
| 481 | TP_PROTO(struct page *page, unsigned long offset), | ||
| 482 | |||
| 483 | TP_ARGS(page, offset) | ||
| 484 | ); | ||
| 485 | |||
| 486 | DEFINE_EVENT(ext4_invalidatepage_op, ext4_journalled_invalidatepage, | ||
| 487 | TP_PROTO(struct page *page, unsigned long offset), | ||
| 488 | |||
| 489 | TP_ARGS(page, offset) | ||
| 490 | ); | ||
| 491 | |||
| 480 | TRACE_EVENT(ext4_discard_blocks, | 492 | TRACE_EVENT(ext4_discard_blocks, |
| 481 | TP_PROTO(struct super_block *sb, unsigned long long blk, | 493 | TP_PROTO(struct super_block *sb, unsigned long long blk, |
| 482 | unsigned long long count), | 494 | unsigned long long count), |
