mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
xfs: need to see iclog flags in tracing
Because I cannot tell if the NEED_FLUSH flag is being set correctly by the log force and CIL push machinery without it. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
d8f4c2d039
commit
b2ae3a9ef9
2 changed files with 14 additions and 4 deletions
|
@ -59,6 +59,16 @@ enum xlog_iclog_state {
|
|||
{ XLOG_STATE_DIRTY, "XLOG_STATE_DIRTY" }, \
|
||||
{ XLOG_STATE_IOERROR, "XLOG_STATE_IOERROR" }
|
||||
|
||||
/*
|
||||
* In core log flags
|
||||
*/
|
||||
#define XLOG_ICL_NEED_FLUSH (1 << 0) /* iclog needs REQ_PREFLUSH */
|
||||
#define XLOG_ICL_NEED_FUA (1 << 1) /* iclog needs REQ_FUA */
|
||||
|
||||
#define XLOG_ICL_STRINGS \
|
||||
{ XLOG_ICL_NEED_FLUSH, "XLOG_ICL_NEED_FLUSH" }, \
|
||||
{ XLOG_ICL_NEED_FUA, "XLOG_ICL_NEED_FUA" }
|
||||
|
||||
|
||||
/*
|
||||
* Log ticket flags
|
||||
|
@ -143,9 +153,6 @@ enum xlog_iclog_state {
|
|||
|
||||
#define XLOG_COVER_OPS 5
|
||||
|
||||
#define XLOG_ICL_NEED_FLUSH (1 << 0) /* iclog needs REQ_PREFLUSH */
|
||||
#define XLOG_ICL_NEED_FUA (1 << 1) /* iclog needs REQ_FUA */
|
||||
|
||||
/* Ticket reservation region accounting */
|
||||
#define XLOG_TIC_LEN_MAX 15
|
||||
|
||||
|
|
|
@ -3944,6 +3944,7 @@ DECLARE_EVENT_CLASS(xlog_iclog_class,
|
|||
__field(uint32_t, state)
|
||||
__field(int32_t, refcount)
|
||||
__field(uint32_t, offset)
|
||||
__field(uint32_t, flags)
|
||||
__field(unsigned long long, lsn)
|
||||
__field(unsigned long, caller_ip)
|
||||
),
|
||||
|
@ -3952,15 +3953,17 @@ DECLARE_EVENT_CLASS(xlog_iclog_class,
|
|||
__entry->state = iclog->ic_state;
|
||||
__entry->refcount = atomic_read(&iclog->ic_refcnt);
|
||||
__entry->offset = iclog->ic_offset;
|
||||
__entry->flags = iclog->ic_flags;
|
||||
__entry->lsn = be64_to_cpu(iclog->ic_header.h_lsn);
|
||||
__entry->caller_ip = caller_ip;
|
||||
),
|
||||
TP_printk("dev %d:%d state %s refcnt %d offset %u lsn 0x%llx caller %pS",
|
||||
TP_printk("dev %d:%d state %s refcnt %d offset %u lsn 0x%llx flags %s caller %pS",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__print_symbolic(__entry->state, XLOG_STATE_STRINGS),
|
||||
__entry->refcount,
|
||||
__entry->offset,
|
||||
__entry->lsn,
|
||||
__print_flags(__entry->flags, "|", XLOG_ICL_STRINGS),
|
||||
(char *)__entry->caller_ip)
|
||||
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue