From owner-freebsd-geom@freebsd.org Sun Jul 8 19:59:17 2018 Return-Path: Delivered-To: freebsd-geom@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65D301029B80 for ; Sun, 8 Jul 2018 19:59:17 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id F221286697 for ; Sun, 8 Jul 2018 19:59:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id AFE0D1029B78; Sun, 8 Jul 2018 19:59:16 +0000 (UTC) Delivered-To: geom@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9E2B51029B77 for ; Sun, 8 Jul 2018 19:59:16 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.ysv.freebsd.org (mxrelay.ysv.freebsd.org [IPv6:2001:1900:2254:206a::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.ysv.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3C96686694 for ; Sun, 8 Jul 2018 19:59:16 +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 mxrelay.ysv.freebsd.org (Postfix) with ESMTPS id 793FC19244 for ; Sun, 8 Jul 2018 19:59:15 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id w68JxF2Y087569 for ; Sun, 8 Jul 2018 19:59:15 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id w68JxFPB087568 for geom@FreeBSD.org; Sun, 8 Jul 2018 19:59:15 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: geom@FreeBSD.org Subject: [Bug 229594] Incorrect "No such geom" error when executing gpart with invalid or incorrect gpt partition number Date: Sun, 08 Jul 2018 19:59:15 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: ae@FreeBSD.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: geom@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: 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-geom@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jul 2018 19:59:17 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D229594 --- Comment #3 from Andrey V. Elsukov --- (In reply to Mahmoud Al-Qudsi from comment #2) > @Andrey I'm intimately familiar with geom and gpart. Please refer to the > final section of my PR concerning suggested fix. As you say, gpart works = on > partitions only, so it is a mistake for it to assert that an object of the > disk class does not exist. The problem is that the _partition_ specified = on > this disk is not a geom object, and the error message should reflect that. No. There are no objects of type partitions. And gpart doesn't work with objects of class DISK. When you issue `gpart create -t gpt da0`, da0 - is g= eom provider, it is not an object of class PART. But when the command completes, there will be geom object of class PART with the same name. This object has some internal data, like how many partition it can have, which partitions it has, how these partitions are called, i.e. what name they have "p", or "s",= or "a", or some other; and many other info. gpart(8) utility knows how obtain = this information from *object of class PART*. When you use gpart(8) utility with geom objects of different classes, there are no such info. Since there are = no object with name da0 and class PART, gpart(8) can not assume that the name = of such object is da0p1, because it doesn't know what name should be used for partition with index 1. --=20 You are receiving this mail because: You are the assignee for the bug.=