Skip to content

Commit 4e32541

Browse files
dhowellsbrauner
authored andcommitted
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 <[email protected]> Link: https://lore.kernel.org/[email protected] Reviewed-by: Paulo Alcantara <[email protected]> cc: [email protected] cc: [email protected] Signed-off-by: Christian Brauner <[email protected]>
1 parent 5e1e6ec commit 4e32541

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed

fs/netfs/main.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ static int netfs_requests_seq_show(struct seq_file *m, void *v)
5858

5959
if (v == &netfs_io_requests) {
6060
seq_puts(m,
61-
"REQUEST OR REF FL ERR OPS COVERAGE\n"
62-
"======== == === == ==== === =========\n"
61+
"REQUEST OR REF FLAG ERR OPS COVERAGE\n"
62+
"======== == === ==== ==== === =========\n"
6363
);
6464
return 0;
6565
}
6666

6767
rreq = list_entry(v, struct netfs_io_request, proc_link);
6868
seq_printf(m,
69-
"%08x %s %3d %2lx %4ld %3d @%04llx %llx/%llx",
69+
"%08x %s %3d %4lx %4ld %3d @%04llx %llx/%llx",
7070
rreq->debug_id,
7171
netfs_origins[rreq->origin],
7272
refcount_read(&rreq->ref),

include/linux/netfs.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -265,17 +265,17 @@ struct netfs_io_request {
265265
bool direct_bv_unpin; /* T if direct_bv[] must be unpinned */
266266
refcount_t ref;
267267
unsigned long flags;
268-
#define NETFS_RREQ_OFFLOAD_COLLECTION 0 /* Offload collection to workqueue */
269-
#define NETFS_RREQ_NO_UNLOCK_FOLIO 2 /* Don't unlock no_unlock_folio on completion */
270-
#define NETFS_RREQ_FAILED 4 /* The request failed */
271-
#define NETFS_RREQ_IN_PROGRESS 5 /* Unlocked when the request completes (has ref) */
272-
#define NETFS_RREQ_FOLIO_COPY_TO_CACHE 6 /* Copy current folio to cache from read */
273-
#define NETFS_RREQ_UPLOAD_TO_SERVER 8 /* Need to write to the server */
274-
#define NETFS_RREQ_PAUSE 11 /* Pause subrequest generation */
268+
#define NETFS_RREQ_IN_PROGRESS 0 /* Unlocked when the request completes (has ref) */
269+
#define NETFS_RREQ_ALL_QUEUED 1 /* All subreqs are now queued */
270+
#define NETFS_RREQ_PAUSE 2 /* Pause subrequest generation */
271+
#define NETFS_RREQ_FAILED 3 /* The request failed */
272+
#define NETFS_RREQ_RETRYING 4 /* Set if we're in the retry path */
273+
#define NETFS_RREQ_SHORT_TRANSFER 5 /* Set if we have a short transfer */
274+
#define NETFS_RREQ_OFFLOAD_COLLECTION 8 /* Offload collection to workqueue */
275+
#define NETFS_RREQ_NO_UNLOCK_FOLIO 9 /* Don't unlock no_unlock_folio on completion */
276+
#define NETFS_RREQ_FOLIO_COPY_TO_CACHE 10 /* Copy current folio to cache from read */
277+
#define NETFS_RREQ_UPLOAD_TO_SERVER 11 /* Need to write to the server */
275278
#define NETFS_RREQ_USE_IO_ITER 12 /* Use ->io_iter rather than ->i_pages */
276-
#define NETFS_RREQ_ALL_QUEUED 13 /* All subreqs are now queued */
277-
#define NETFS_RREQ_RETRYING 14 /* Set if we're in the retry path */
278-
#define NETFS_RREQ_SHORT_TRANSFER 15 /* Set if we have a short transfer */
279279
#define NETFS_RREQ_USE_PGPRIV2 31 /* [DEPRECATED] Use PG_private_2 to mark
280280
* write to cache on read */
281281
const struct netfs_request_ops *netfs_ops;

include/trace/events/netfs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ TRACE_EVENT(netfs_sreq,
367367
__entry->slot = sreq->io_iter.folioq_slot;
368368
),
369369

370-
TP_printk("R=%08x[%x] %s %s f=%02x s=%llx %zx/%zx s=%u e=%d",
370+
TP_printk("R=%08x[%x] %s %s f=%03x s=%llx %zx/%zx s=%u e=%d",
371371
__entry->rreq, __entry->index,
372372
__print_symbolic(__entry->source, netfs_sreq_sources),
373373
__print_symbolic(__entry->what, netfs_sreq_traces),

0 commit comments

Comments
 (0)