From owner-freebsd-bugs@freebsd.org Fri Nov 24 09:17:20 2017 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49094DC1C4F for ; Fri, 24 Nov 2017 09:17:20 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3773C6C441 for ; Fri, 24 Nov 2017 09:17:20 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id vAO9HKIl083199 for ; Fri, 24 Nov 2017 09:17:20 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 223838] g_bio_clone vs g_bio_duplicate Date: Fri, 24 Nov 2017 09:17:20 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: avg@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2017 09:17:20 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D223838 Bug ID: 223838 Summary: g_bio_clone vs g_bio_duplicate Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: avg@FreeBSD.org g_duplicate_bio() was introduced in base r159304: > Add g_duplicate_bio() function which does the same thing what g_clone_bio= () > is doing, but g_duplicate_bio() allocates new bio with M_WAITOK flag. Originally it was almost a complete duplicate (or a clone) of g_bio_clone except for the M_NOWAIT vs M_MWAITOK difference. But over the time some additional differences have accumulated. Among them handling of bio_flags and geom schedulers. It is very hard to tell which differences are intentional and which are not. It would be nice to identify and remove the unintentional differences. Also, it would be nice to move the common code into a helper function to av= oid the code duplication and the resulting unintentional divergence. Finally, perhaps g_duplicate_bio() needs a better name while it is not very widely used. "Duplicate" and "clone" are synonyms, so it's hard telling th= em apart.=20 Some ideas: g_bio_reliable_clone, g_bio_clone_waitok. --=20 You are receiving this mail because: You are the assignee for the bug.=