From owner-freebsd-geom@freebsd.org Fri Jul 15 15:20:13 2016 Return-Path: Delivered-To: freebsd-geom@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 F2340B9AE8D for ; Fri, 15 Jul 2016 15:20:13 +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 C4A58172F for ; Fri, 15 Jul 2016 15:20:13 +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 u6FFKDtd017134 for ; Fri, 15 Jul 2016 15:20:13 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-geom@FreeBSD.org Subject: [Bug 211028] [GEOM][Hyper-V] gpart can't detect the new free space after the disk capacity changes Date: Fri, 15 Jul 2016 15:20:13 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed 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 Some People X-Bugzilla-Who: ae@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: 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.22 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2016 15:20:14 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211028 --- Comment #18 from Andrey V. Elsukov --- (In reply to Dexuan Cui from comment #17) > (In reply to Dexuan Cui from comment #16) > Please review the attached patch. It may be a little ugly since I'm pretty > new to GEOM code... Please suggest how we should fix the issue in a better > way. GEOM serves not only the disks, you can break g_provider_resize() for other types of providers. Can you test this patch instead? Index: geom_disk.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- geom_disk.c (revision 302840) +++ geom_disk.c (working copy) @@ -126,7 +126,6 @@ g_disk_access(struct g_provider *pp, int r, int w, if (error !=3D 0) return (error); } - pp->mediasize =3D dp->d_mediasize; pp->sectorsize =3D dp->d_sectorsize; if (dp->d_maxsize =3D=3D 0) { printf("WARNING: Disk drive %s%d has no d_maxsize\n= ", @@ -143,6 +142,7 @@ g_disk_access(struct g_provider *pp, int r, int w, pp->stripeoffset =3D dp->d_stripeoffset; pp->stripesize =3D dp->d_stripesize; dp->d_flags |=3D DISKFLAG_OPEN; + g_resize_provider(pp, dp->d_mediasize); } else if ((pp->acr + pp->acw + pp->ace) > 0 && (r + w + e) =3D=3D = 0) { if (dp->d_close !=3D NULL) { error =3D dp->d_close(dp); --=20 You are receiving this mail because: You are on the CC list for the bug.=