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
Showing the changes to include (2 of 9 files). Show all
Unified · Split
| @@ -1098,7 +1098,7 @@ void jbd2_journal_set_triggers(struct buffer_head *, · 1097 unmodified lines | ||
| 1098 | 1098 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); |
| 1099 | 1099 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); |
| 1100 | 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 | 1102 | struct page *, unsigned long); |
| 1103 | 1103 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); |
| 1104 | 1104 | extern int jbd2_journal_stop(handle_t *); |
| @@ -451,7 +451,7 @@ DEFINE_EVENT(ext4__page_op, ext4_releasepage, · 450 unmodified lines | ||
| 451 | 451 | TP_ARGS(page) |
| 452 | 452 | ); |
| 453 | 453 | |
| 454 | −TRACE_EVENT(ext4_invalidatepage, | |
| 454 | +DECLARE_EVENT_CLASS(ext4_invalidatepage_op, | |
| 455 | 455 | TP_PROTO(struct page *page, unsigned long offset), |
| 456 | 456 | |
| 457 | 457 | TP_ARGS(page, offset), |
| @@ -477,6 +477,18 @@ TRACE_EVENT(ext4_invalidatepage, · 19 unmodified lines | ||
| 477 | 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 | 492 | TRACE_EVENT(ext4_discard_blocks, |
| 481 | 493 | TP_PROTO(struct super_block *sb, unsigned long long blk, |
| 482 | 494 | unsigned long long count), |