mirror of
https://github.com/torvalds/linux.git
synced 2026-01-12 00:42:35 +08:00
netfs: Renumber the NETFS_RREQ_* flags to make traces easier to read
Renumber the NETFS_RREQ_* flags to put the most useful status bits in the bottom nibble - and therefore the last hex digit in the trace output - making it easier to grasp the state at a glance. In particular, put the IN_PROGRESS flag in bit 0 and ALL_QUEUED at bit 1. Also make the flags field in /proc/fs/netfs/requests larger to accommodate all the flags. Also make the flags field in the netfs_sreq tracepoint larger to accommodate all the NETFS_SREQ_* flags. Signed-off-by: David Howells <dhowells@redhat.com> Link: https://lore.kernel.org/20250701163852.2171681-13-dhowells@redhat.com Reviewed-by: Paulo Alcantara <pc@manguebit.org> cc: netfs@lists.linux.dev cc: linux-fsdevel@vger.kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
committed by
Christian Brauner
parent
5e1e6ec2e3
commit
4e32541076
@@ -58,15 +58,15 @@ static int netfs_requests_seq_show(struct seq_file *m, void *v)
|
||||
|
||||
if (v == &netfs_io_requests) {
|
||||
seq_puts(m,
|
||||
"REQUEST OR REF FL ERR OPS COVERAGE\n"
|
||||
"======== == === == ==== === =========\n"
|
||||
"REQUEST OR REF FLAG ERR OPS COVERAGE\n"
|
||||
"======== == === ==== ==== === =========\n"
|
||||
);
|
||||
return 0;
|
||||
}
|
||||
|
||||
rreq = list_entry(v, struct netfs_io_request, proc_link);
|
||||
seq_printf(m,
|
||||
"%08x %s %3d %2lx %4ld %3d @%04llx %llx/%llx",
|
||||
"%08x %s %3d %4lx %4ld %3d @%04llx %llx/%llx",
|
||||
rreq->debug_id,
|
||||
netfs_origins[rreq->origin],
|
||||
refcount_read(&rreq->ref),
|
||||
|
||||
@@ -265,17 +265,17 @@ struct netfs_io_request {
|
||||
bool direct_bv_unpin; /* T if direct_bv[] must be unpinned */
|
||||
refcount_t ref;
|
||||
unsigned long flags;
|
||||
#define NETFS_RREQ_OFFLOAD_COLLECTION 0 /* Offload collection to workqueue */
|
||||
#define NETFS_RREQ_NO_UNLOCK_FOLIO 2 /* Don't unlock no_unlock_folio on completion */
|
||||
#define NETFS_RREQ_FAILED 4 /* The request failed */
|
||||
#define NETFS_RREQ_IN_PROGRESS 5 /* Unlocked when the request completes (has ref) */
|
||||
#define NETFS_RREQ_FOLIO_COPY_TO_CACHE 6 /* Copy current folio to cache from read */
|
||||
#define NETFS_RREQ_UPLOAD_TO_SERVER 8 /* Need to write to the server */
|
||||
#define NETFS_RREQ_PAUSE 11 /* Pause subrequest generation */
|
||||
#define NETFS_RREQ_IN_PROGRESS 0 /* Unlocked when the request completes (has ref) */
|
||||
#define NETFS_RREQ_ALL_QUEUED 1 /* All subreqs are now queued */
|
||||
#define NETFS_RREQ_PAUSE 2 /* Pause subrequest generation */
|
||||
#define NETFS_RREQ_FAILED 3 /* The request failed */
|
||||
#define NETFS_RREQ_RETRYING 4 /* Set if we're in the retry path */
|
||||
#define NETFS_RREQ_SHORT_TRANSFER 5 /* Set if we have a short transfer */
|
||||
#define NETFS_RREQ_OFFLOAD_COLLECTION 8 /* Offload collection to workqueue */
|
||||
#define NETFS_RREQ_NO_UNLOCK_FOLIO 9 /* Don't unlock no_unlock_folio on completion */
|
||||
#define NETFS_RREQ_FOLIO_COPY_TO_CACHE 10 /* Copy current folio to cache from read */
|
||||
#define NETFS_RREQ_UPLOAD_TO_SERVER 11 /* Need to write to the server */
|
||||
#define NETFS_RREQ_USE_IO_ITER 12 /* Use ->io_iter rather than ->i_pages */
|
||||
#define NETFS_RREQ_ALL_QUEUED 13 /* All subreqs are now queued */
|
||||
#define NETFS_RREQ_RETRYING 14 /* Set if we're in the retry path */
|
||||
#define NETFS_RREQ_SHORT_TRANSFER 15 /* Set if we have a short transfer */
|
||||
#define NETFS_RREQ_USE_PGPRIV2 31 /* [DEPRECATED] Use PG_private_2 to mark
|
||||
* write to cache on read */
|
||||
const struct netfs_request_ops *netfs_ops;
|
||||
|
||||
@@ -367,7 +367,7 @@ TRACE_EVENT(netfs_sreq,
|
||||
__entry->slot = sreq->io_iter.folioq_slot;
|
||||
),
|
||||
|
||||
TP_printk("R=%08x[%x] %s %s f=%02x s=%llx %zx/%zx s=%u e=%d",
|
||||
TP_printk("R=%08x[%x] %s %s f=%03x s=%llx %zx/%zx s=%u e=%d",
|
||||
__entry->rreq, __entry->index,
|
||||
__print_symbolic(__entry->source, netfs_sreq_sources),
|
||||
__print_symbolic(__entry->what, netfs_sreq_traces),
|
||||
|
||||
Reference in New Issue
Block a user