Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o: "A large number of cleanups and bug fixes, with some (minor) journal optimizations" [ This got sent to me before -rc1, but was stuck in my spam folder. - Linus ] * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (67 commits) ext4: check s_chksum_driver when looking for bg csum presence ext4: move error report out of atomic context in ext4_init_block_bitmap() ext4: Replace open coded mdata csum feature to helper function ext4: delete useless comments about ext4_move_extents ext4: fix reservation overflow in ext4_da_write_begin ext4: add ext4_iget_normal() which is to be used for dir tree lookups ext4: don't orphan or truncate the boot loader inode ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT ext4: optimize block allocation on grow indepth ext4: get rid of code duplication ext4: fix over-defensive complaint after journal abort ext4: fix return value of ext4_do_update_inode ext4: fix mmap data corruption when blocksize < pagesize vfs: fix data corruption when blocksize < pagesize for mmaped data ext4: fold ext4_nojournal_sops into ext4_sops ext4: support freezing ext2 (nojournal) file systems ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs() ext4: don't check quota format when there are no quota files jbd2: simplify calling convention around __jbd2_journal_clean_checkpoint_list jbd2: avoid pointless scanning of checkpoint lists ...
This commit is contained in:
@@ -2369,7 +2369,7 @@ TRACE_EVENT(ext4_es_lookup_extent_exit,
|
||||
show_extent_status(__entry->found ? __entry->status : 0))
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_es_shrink_enter,
|
||||
DECLARE_EVENT_CLASS(ext4__es_shrink_enter,
|
||||
TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt),
|
||||
|
||||
TP_ARGS(sb, nr_to_scan, cache_cnt),
|
||||
@@ -2391,26 +2391,38 @@ TRACE_EVENT(ext4_es_shrink_enter,
|
||||
__entry->nr_to_scan, __entry->cache_cnt)
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_es_shrink_exit,
|
||||
TP_PROTO(struct super_block *sb, int shrunk_nr, int cache_cnt),
|
||||
DEFINE_EVENT(ext4__es_shrink_enter, ext4_es_shrink_count,
|
||||
TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt),
|
||||
|
||||
TP_ARGS(sb, shrunk_nr, cache_cnt),
|
||||
TP_ARGS(sb, nr_to_scan, cache_cnt)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(ext4__es_shrink_enter, ext4_es_shrink_scan_enter,
|
||||
TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt),
|
||||
|
||||
TP_ARGS(sb, nr_to_scan, cache_cnt)
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_es_shrink_scan_exit,
|
||||
TP_PROTO(struct super_block *sb, int nr_shrunk, int cache_cnt),
|
||||
|
||||
TP_ARGS(sb, nr_shrunk, cache_cnt),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field( dev_t, dev )
|
||||
__field( int, shrunk_nr )
|
||||
__field( int, nr_shrunk )
|
||||
__field( int, cache_cnt )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = sb->s_dev;
|
||||
__entry->shrunk_nr = shrunk_nr;
|
||||
__entry->nr_shrunk = nr_shrunk;
|
||||
__entry->cache_cnt = cache_cnt;
|
||||
),
|
||||
|
||||
TP_printk("dev %d,%d shrunk_nr %d cache_cnt %d",
|
||||
TP_printk("dev %d,%d nr_shrunk %d cache_cnt %d",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->shrunk_nr, __entry->cache_cnt)
|
||||
__entry->nr_shrunk, __entry->cache_cnt)
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_collapse_range,
|
||||
@@ -2438,6 +2450,37 @@ TRACE_EVENT(ext4_collapse_range,
|
||||
__entry->offset, __entry->len)
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_es_shrink,
|
||||
TP_PROTO(struct super_block *sb, int nr_shrunk, u64 scan_time,
|
||||
int skip_precached, int nr_skipped, int retried),
|
||||
|
||||
TP_ARGS(sb, nr_shrunk, scan_time, skip_precached, nr_skipped, retried),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field( dev_t, dev )
|
||||
__field( int, nr_shrunk )
|
||||
__field( unsigned long long, scan_time )
|
||||
__field( int, skip_precached )
|
||||
__field( int, nr_skipped )
|
||||
__field( int, retried )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = sb->s_dev;
|
||||
__entry->nr_shrunk = nr_shrunk;
|
||||
__entry->scan_time = div_u64(scan_time, 1000);
|
||||
__entry->skip_precached = skip_precached;
|
||||
__entry->nr_skipped = nr_skipped;
|
||||
__entry->retried = retried;
|
||||
),
|
||||
|
||||
TP_printk("dev %d,%d nr_shrunk %d, scan_time %llu skip_precached %d "
|
||||
"nr_skipped %d retried %d",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev), __entry->nr_shrunk,
|
||||
__entry->scan_time, __entry->skip_precached,
|
||||
__entry->nr_skipped, __entry->retried)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_EXT4_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
||||
Reference in New Issue
Block a user