git: 85f7e9a4f039 - main - In GEOM debugging output, show consumer for cloned and duplicated bio's.

From: Kirk McKusick <mckusick_at_FreeBSD.org>
Date: Mon, 31 Jan 2022 01:21:31 UTC
The branch main has been updated by mckusick:

URL: https://cgit.FreeBSD.org/src/commit/?id=85f7e9a4f0393277b85a247543f71700c5eebb1f

commit 85f7e9a4f0393277b85a247543f71700c5eebb1f
Author:     Kirk McKusick <mckusick@FreeBSD.org>
AuthorDate: 2022-01-31 01:20:10 +0000
Commit:     Kirk McKusick <mckusick@FreeBSD.org>
CommitDate: 2022-01-31 01:21:13 +0000

    In GEOM debugging output, show consumer for cloned and duplicated bio's.
    
    When using bio's created by g_clone_bio() or g_duplicate_bio()
    their consumer device (the device to which their I/O requests
    are sent) is listed by the geom debugging facility as [unknown].
    If available, this update lists the consumer associated with
    the bio's parent.
    
    MFC after:    2 weeks
    Sponsored by: Netflix
---
 sys/geom/geom_io.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c
index e893793ec385..0ef547695810 100644
--- a/sys/geom/geom_io.c
+++ b/sys/geom/geom_io.c
@@ -1017,6 +1017,8 @@ g_format_bio(struct sbuf *sb, const struct bio *bp)
 
 	if (bp->bio_to != NULL)
 		pname = bp->bio_to->name;
+	else if (bp->bio_parent != NULL && bp->bio_parent->bio_to != NULL)
+		pname = bp->bio_parent->bio_to->name;
 	else
 		pname = "[unknown]";