From: Carlos Maiolino <cmaiolino@redhat.com>
To: "Darrick J. Wong" <djwong@kernel.org>
Cc: david@fromorbit.com, sandeen@sandeen.net, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 04/15] xfs: standardize AG block number formatting in ftrace output
Date: Thu, 19 Aug 2021 11:06:32 +0200 [thread overview]
Message-ID: <20210819090632.r2sbnerdppy76csp@omega.lan> (raw)
In-Reply-To: <162924375404.761813.16085072027749593088.stgit@magnolia>
On Tue, Aug 17, 2021 at 04:42:34PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print allocation group block numbers in hexadecimal and preceded
> with the unit "agbno".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
> ---
> fs/xfs/scrub/trace.h | 24 ++++++++++++------------
> fs/xfs/xfs_trace.h | 46 +++++++++++++++++++++++-----------------------
> 2 files changed, 35 insertions(+), 35 deletions(-)
>
>
> diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h
> index 3676b1736bab..49822589a4ae 100644
> --- a/fs/xfs/scrub/trace.h
> +++ b/fs/xfs/scrub/trace.h
> @@ -145,7 +145,7 @@ TRACE_EVENT(xchk_op_error,
> __entry->error = error;
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d type %s agno 0x%x agbno %u error %d ret_ip %pS",
> + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x error %d ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS),
> __entry->agno,
> @@ -203,7 +203,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class,
> __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr);
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d type %s agno 0x%x agbno %u ret_ip %pS",
> + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS),
> __entry->agno,
> @@ -338,7 +338,7 @@ TRACE_EVENT(xchk_btree_op_error,
> __entry->error = error;
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS",
> + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS),
> __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS),
> @@ -381,7 +381,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error,
> __entry->error = error;
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS",
> + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->ino,
> __entry->whichfork,
> @@ -420,7 +420,7 @@ TRACE_EVENT(xchk_btree_error,
> __entry->ptr = cur->bc_ptrs[level];
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS",
> + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS),
> __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS),
> @@ -460,7 +460,7 @@ TRACE_EVENT(xchk_ifork_btree_error,
> __entry->ptr = cur->bc_ptrs[level];
> __entry->ret_ip = ret_ip;
> ),
> - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS",
> + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->ino,
> __entry->whichfork,
> @@ -499,7 +499,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class,
> __entry->nlevels = cur->bc_nlevels;
> __entry->ptr = cur->bc_ptrs[level];
> ),
> - TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno %u level %d nlevels %d ptr %d",
> + TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno 0x%x level %d nlevels %d ptr %d",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS),
> __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS),
> @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class,
> __entry->agbno = agbno;
> __entry->len = len;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class,
> __entry->offset = offset;
> __entry->flags = flags;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn,
> __entry->blockcount = irec->rc_blockcount;
> __entry->refcount = irec->rc_refcount;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->startblock,
> @@ -761,7 +761,7 @@ TRACE_EVENT(xrep_init_btblock,
> __entry->agbno = agbno;
> __entry->btnum = btnum;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u btree %s",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x btree %s",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -785,7 +785,7 @@ TRACE_EVENT(xrep_findroot_block,
> __entry->magic = magic;
> __entry->level = level;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u magic 0x%x level %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x magic 0x%x level %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
> index 9ddc710c1be9..a780b1752ede 100644
> --- a/fs/xfs/xfs_trace.h
> +++ b/fs/xfs/xfs_trace.h
> @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class,
> __entry->agbno = agbno;
> __entry->len = len;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim,
> __entry->tbno = tbno;
> __entry->tlen = tlen;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u tbno %u tlen %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent,
> __entry->haveleft = haveleft;
> __entry->haveright = haveright;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u resv %d %s",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -1792,7 +1792,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class,
> __entry->datatype = args->datatype;
> __entry->firstblock = args->tp->t_firstblock;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u minlen %u maxlen %u mod %u "
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x minlen %u maxlen %u mod %u "
> "prod %u minleft %u total %u alignment %u minalignslop %u "
> "len %u type %s otype %s wasdel %d wasfromfl %d resv %d "
> "datatype 0x%x firstblock 0x%llx",
> @@ -1870,7 +1870,7 @@ TRACE_EVENT(xfs_alloc_cur_check,
> __entry->diff = diff;
> __entry->new = new;
> ),
> - TP_printk("dev %d:%d btree %s bno 0x%x len 0x%x diff 0x%x new %d",
> + TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS),
> __entry->bno, __entry->len, __entry->diff, __entry->new)
> @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class,
> __entry->length = be32_to_cpu(in_f->icl_length);
> __entry->gen = be32_to_cpu(in_f->icl_gen);
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u count %u isize %u length %u "
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u "
> "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno, __entry->agbno, __entry->count, __entry->isize,
> __entry->length, __entry->gen)
> @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class,
> __entry->agbno = agbno;
> __entry->len = len;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class,
> __entry->agbno = agbno;
> __entry->len = len;
> ),
> - TP_printk("dev %d:%d op %d agno 0x%x agbno %u len %u",
> + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->type,
> __entry->agno,
> @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class,
> __entry->l_state = state;
> __entry->op = op;
> ),
> - TP_printk("dev %d:%d op %d agno 0x%x agbno %u owner %lld %s offset %llu len %llu state %d",
> + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner %lld %s offset %llu len %llu state %d",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->op,
> __entry->agno,
> @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class,
> if (unwritten)
> __entry->flags |= XFS_RMAP_UNWRITTEN;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%lx",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%lx",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class,
> __entry->offset = offset;
> __entry->flags = flags;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -2870,7 +2870,7 @@ DECLARE_EVENT_CLASS(xfs_ag_btree_lookup_class,
> __entry->agbno = agbno;
> __entry->dir = dir;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u cmp %s(%d)",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x cmp %s(%d)",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->agbno,
> @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class,
> __entry->blockcount = irec->rc_blockcount;
> __entry->refcount = irec->rc_refcount;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->startblock,
> @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class,
> __entry->refcount = irec->rc_refcount;
> __entry->agbno = agbno;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u @ agbno %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->startblock,
> @@ -2978,8 +2978,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class,
> __entry->i2_blockcount = i2->rc_blockcount;
> __entry->i2_refcount = i2->rc_refcount;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- "
> - "agbno %u len %u refcount %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- "
> + "agbno 0x%x len %u refcount %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->i1_startblock,
> @@ -3024,8 +3024,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class,
> __entry->i2_refcount = i2->rc_refcount;
> __entry->agbno = agbno;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- "
> - "agbno %u len %u refcount %u @ agbno %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- "
> + "agbno 0x%x len %u refcount %u @ agbno 0x%x",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->i1_startblock,
> @@ -3076,9 +3076,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class,
> __entry->i3_blockcount = i3->rc_blockcount;
> __entry->i3_refcount = i3->rc_refcount;
> ),
> - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- "
> - "agbno %u len %u refcount %u -- "
> - "agbno %u len %u refcount %u",
> + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- "
> + "agbno 0x%x len %u refcount %u -- "
> + "agbno 0x%x len %u refcount %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->agno,
> __entry->i1_startblock,
> @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover,
> __entry->new_agbno = new_agbno;
> __entry->new_len = new_len;
> ),
> - TP_printk("dev %d:%d type %d agno 0x%x agbno %u len %u new_agbno %u new_len %u",
> + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __entry->type,
> __entry->agno,
> @@ -3930,7 +3930,7 @@ TRACE_EVENT(xfs_btree_bload_block,
> }
> __entry->nr_records = nr_records;
> ),
> - TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno %u recs %u",
> + TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno 0x%x recs %u",
> MAJOR(__entry->dev), MINOR(__entry->dev),
> __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS),
> __entry->level,
>
--
Carlos
next prev parent reply other threads:[~2021-08-19 9:06 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
2021-08-19 2:29 ` Dave Chinner
2021-08-19 7:57 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
2021-08-19 2:34 ` Dave Chinner
2021-08-19 8:27 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
2021-08-19 2:35 ` Dave Chinner
2021-08-19 8:45 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
2021-08-19 2:37 ` Dave Chinner
2021-08-19 9:06 ` Carlos Maiolino [this message]
2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
2021-08-19 2:38 ` Dave Chinner
2021-08-19 9:57 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
2021-08-19 2:42 ` Dave Chinner
2021-08-19 11:02 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
2021-08-19 2:47 ` Dave Chinner
2021-08-19 11:12 ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
2021-08-19 2:51 ` Dave Chinner
2021-08-19 11:45 ` Carlos Maiolino
2021-08-19 11:42 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
2021-08-19 3:01 ` Dave Chinner
2021-08-19 3:06 ` Darrick J. Wong
2021-08-19 3:44 ` [PATCH v2 " Darrick J. Wong
2021-08-19 12:08 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
2021-08-19 3:11 ` Dave Chinner
2021-08-19 3:19 ` Darrick J. Wong
2021-08-19 3:45 ` [PATCH v2 " Darrick J. Wong
2021-08-19 5:38 ` Dave Chinner
2021-08-19 12:26 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
2021-08-19 3:14 ` Dave Chinner
2021-08-19 12:32 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
2021-08-19 3:16 ` Dave Chinner
2021-08-19 12:43 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
2021-08-19 3:19 ` Dave Chinner
2021-08-19 12:48 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
2021-08-19 3:19 ` Dave Chinner
2021-08-19 12:57 ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
2021-08-19 3:20 ` Dave Chinner
2021-08-19 13:04 ` Carlos Maiolino
2021-08-19 3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
2021-08-19 3:24 ` Dave Chinner
2021-08-19 3:46 ` [PATCH v2 " Darrick J. Wong
2021-08-19 5:39 ` Dave Chinner
2021-08-19 13:27 ` Carlos Maiolino
2021-08-19 17:06 ` Darrick J. Wong
2021-08-19 17:10 ` [PATCH v3 " Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210819090632.r2sbnerdppy76csp@omega.lan \
--to=cmaiolino@redhat.com \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@sandeen.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).