Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 updates from Ted Ts'o: "This merge window saw the the following new featuers added to ext4: - Direct I/O via iomap (required the iomap-for-next branch from Darrick as a prereq). - Support for using dioread-nolock where the block size < page size. - Support for encryption for file systems where the block size < page size. - Rework of journal credits handling so a revoke-heavy workload will not cause the journal to run out of space. - Replace bit-spinlocks with spinlocks in jbd2 Also included were some bug fixes and cleanups, mostly to clean up corner cases from fuzzed file systems and error path handling" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (59 commits) ext4: work around deleting a file with i_nlink == 0 safely ext4: add more paranoia checking in ext4_expand_extra_isize handling jbd2: make jbd2_handle_buffer_credits() handle reserved handles ext4: fix a bug in ext4_wait_for_tail_page_commit ext4: bio_alloc with __GFP_DIRECT_RECLAIM never fails ext4: code cleanup for get_next_id ext4: fix leak of quota reservations ext4: remove unused variable warning in parse_options() ext4: Enable encryption for subpage-sized blocks fs/buffer.c: support fscrypt in block_read_full_page() ext4: Add error handling for io_end_vec struct allocation jbd2: Fine tune estimate of necessary descriptor blocks jbd2: Provide trace event for handle restarts ext4: Reserve revoke credits for freed blocks jbd2: Make credit checking more strict jbd2: Rename h_buffer_credits to h_total_credits jbd2: Reserve space for revoke descriptor blocks jbd2: Drop jbd2_space_needed() jbd2: Account descriptor blocks into t_outstanding_credits jbd2: Factor out common parts of stopping and restarting a handle ...
This commit is contained in:
@@ -1746,15 +1746,16 @@ TRACE_EVENT(ext4_load_inode,
|
||||
|
||||
TRACE_EVENT(ext4_journal_start,
|
||||
TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks,
|
||||
unsigned long IP),
|
||||
int revoke_creds, unsigned long IP),
|
||||
|
||||
TP_ARGS(sb, blocks, rsv_blocks, IP),
|
||||
TP_ARGS(sb, blocks, rsv_blocks, revoke_creds, IP),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field( dev_t, dev )
|
||||
__field(unsigned long, ip )
|
||||
__field( int, blocks )
|
||||
__field( int, rsv_blocks )
|
||||
__field( int, revoke_creds )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
@@ -1762,11 +1763,13 @@ TRACE_EVENT(ext4_journal_start,
|
||||
__entry->ip = IP;
|
||||
__entry->blocks = blocks;
|
||||
__entry->rsv_blocks = rsv_blocks;
|
||||
__entry->revoke_creds = revoke_creds;
|
||||
),
|
||||
|
||||
TP_printk("dev %d,%d blocks, %d rsv_blocks, %d caller %pS",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->blocks, __entry->rsv_blocks, (void *)__entry->ip)
|
||||
TP_printk("dev %d,%d blocks %d, rsv_blocks %d, revoke_creds %d, "
|
||||
"caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->blocks, __entry->rsv_blocks, __entry->revoke_creds,
|
||||
(void *)__entry->ip)
|
||||
);
|
||||
|
||||
TRACE_EVENT(ext4_journal_start_reserved,
|
||||
|
@@ -133,7 +133,7 @@ TRACE_EVENT(jbd2_submit_inode_data,
|
||||
(unsigned long) __entry->ino)
|
||||
);
|
||||
|
||||
TRACE_EVENT(jbd2_handle_start,
|
||||
DECLARE_EVENT_CLASS(jbd2_handle_start_class,
|
||||
TP_PROTO(dev_t dev, unsigned long tid, unsigned int type,
|
||||
unsigned int line_no, int requested_blocks),
|
||||
|
||||
@@ -161,6 +161,20 @@ TRACE_EVENT(jbd2_handle_start,
|
||||
__entry->type, __entry->line_no, __entry->requested_blocks)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(jbd2_handle_start_class, jbd2_handle_start,
|
||||
TP_PROTO(dev_t dev, unsigned long tid, unsigned int type,
|
||||
unsigned int line_no, int requested_blocks),
|
||||
|
||||
TP_ARGS(dev, tid, type, line_no, requested_blocks)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(jbd2_handle_start_class, jbd2_handle_restart,
|
||||
TP_PROTO(dev_t dev, unsigned long tid, unsigned int type,
|
||||
unsigned int line_no, int requested_blocks),
|
||||
|
||||
TP_ARGS(dev, tid, type, line_no, requested_blocks)
|
||||
);
|
||||
|
||||
TRACE_EVENT(jbd2_handle_extend,
|
||||
TP_PROTO(dev_t dev, unsigned long tid, unsigned int type,
|
||||
unsigned int line_no, int buffer_credits,
|
||||
|
Reference in New Issue
Block a user