NetBSD Problem Report #44218

From dyoung@ojctech.com  Fri Dec 10 18:24:27 2010
Return-Path: <dyoung@ojctech.com>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id CD0DC63B87A
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 10 Dec 2010 18:24:27 +0000 (UTC)
Message-Id: <20101210182424.5F72D1BF00C@elmendorf.ojctech.com>
Date: Fri, 10 Dec 2010 12:24:24 -0600 (CST)
From: dyoung@ojctech.com
Reply-To: dyoung@ojctech.com
To: gnats-bugs@gnats.NetBSD.org
Subject: gpt(8) cannot "modify" a partition
X-Send-Pr-Version: 3.95

>Number:         44218
>Category:       bin
>Synopsis:       gpt(8) cannot "modify" a partition
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    jnemeth
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 10 18:25:00 +0000 2010
>Closed-Date:    Thu Aug 23 22:09:39 +0000 2018
>Last-Modified:  Thu Aug 23 22:09:39 +0000 2018
>Originator:     David Young
>Release:        NetBSD 5.99.36
>Organization:
David Young             OJC Technologies
dyoung@ojctech.com      Urbana, IL * (217) 278-3933
>Environment:
System: NetBSD elmendorf.ojctech.com 5.99.36 NetBSD 5.99.36 (modular.ojctech.com) #66: Mon Jul 12 10:54:25 CDT 2010 dyoung@skyking.ojctech.com:/home/dyoung/nbsd/i386/O/sys/arch/i386/compile/modular.ojctech.com i386
Architecture: i386
Machine: i386
>Description:
gpt(8) cannot change the type of a partition.  To change the type,
you have to delete the partition and re-add it with the same offset,
size, and label as the old.  That's too time-consuming and risky.
>How-To-Repeat:
Scan the manual for a simple way to modify a partition's type.  You
won't find it.
>Fix:
Add a "modify" command?

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: bin-bug-people->jnemeth
Responsible-Changed-By: jnemeth@NetBSD.org
Responsible-Changed-When: Fri, 26 Sep 2014 21:48:58 +0000
Responsible-Changed-Why:
I've been working on gpt(8).


From: "John Nemeth" <jnemeth@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/44218 CVS commit: src/sbin/gpt
Date: Sun, 28 Sep 2014 08:14:51 +0000

 Module Name:	src
 Committed By:	jnemeth
 Date:		Sun Sep 28 08:14:51 UTC 2014

 Modified Files:
 	src/sbin/gpt: Makefile gpt.8 gpt.c gpt.h
 Added Files:
 	src/sbin/gpt: type.c

 Log Message:
 PR/44218 - David Young -- add "type" subcommand to change a partition type


 To generate a diff of this commit:
 cvs rdiff -u -r1.9 -r1.10 src/sbin/gpt/Makefile
 cvs rdiff -u -r1.30 -r1.31 src/sbin/gpt/gpt.8
 cvs rdiff -u -r1.29 -r1.30 src/sbin/gpt/gpt.c
 cvs rdiff -u -r1.12 -r1.13 src/sbin/gpt/gpt.h
 cvs rdiff -u -r0 -r1.1 src/sbin/gpt/type.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->analyzed
State-Changed-By: jnemeth@NetBSD.org
State-Changed-When: Sun, 28 Sep 2014 08:16:00 +0000
State-Changed-Why:
A "type" subcommand was added to change the type.  Pullups required.


From: "Soren Jacobsen" <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/44218 CVS commit: [netbsd-7] src/sbin/gpt
Date: Tue, 2 Jun 2015 19:49:38 +0000

 Module Name:	src
 Committed By:	snj
 Date:		Tue Jun  2 19:49:38 UTC 2015

 Modified Files:
 	src/sbin/gpt [netbsd-7]: Makefile add.c backup.c biosboot.c create.c
 	    destroy.c gpt.8 gpt.c gpt.h label.c map.c migrate.c recover.c
 	    remove.c resize.c restore.c set.c show.c unset.c
 Added Files:
 	src/sbin/gpt [netbsd-7]: drvctl.c gpt_uuid.c gpt_uuid.h resizedisk.c
 	    type.c

 Log Message:
 Pull up following revision(s) (requested by jnemeth in ticket #774):
 	sbin/gpt/Makefile: revisions 1.9-1.13
 	sbin/gpt/add.c: revisions 1.25-1.27
 	sbin/gpt/backup.c: revisions 1.2-1.8
 	sbin/gpt/biosboot.c: revisions 1.8-1.14
 	sbin/gpt/create.c: revisions 1.8-1.12
 	sbin/gpt/destroy.c: revisions 1.5-1.6
 	sbin/gpt/drvctl.c: revision 1.1
 	sbin/gpt/gpt.8: revisions 1.29-1.36
 	sbin/gpt/gpt.c: revisions 1.29-1.40
 	sbin/gpt/gpt.h: revisions 1.12-1.18
 	sbin/gpt/gpt_uuid.c: revisions 1.1-1.10
 	sbin/gpt/gpt_uuid.h: revisions 1.1-1.3
 	sbin/gpt/label.c: revisions 1.15-1.18
 	sbin/gpt/map.c: revision 1.7
 	sbin/gpt/migrate.c: revisions 1.15-1.21
 	sbin/gpt/recover.c: revision 1.5
 	sbin/gpt/remove.c: revisions 1.13-1.16
 	sbin/gpt/resize.c: revisions 1.9-1.11
 	sbin/gpt/resizedisk.c: revisions 1.1-1.6
 	sbin/gpt/restore.c: revisions 1.2-1.7
 	sbin/gpt/set.c: revisions 1.3-1.5
 	sbin/gpt/show.c: revision 1.16-1.21
 	sbin/gpt/type.c: revisions 1.1-1.6
 	sbin/gpt/unset.c: revisions 1.3-1.5
 - record the sector size of the disk
 - correct confusion with end_cylinder and end_sector in MBRs
 --
 - dump all partitions, not just ones that are in use
 - while here, squash a memory leak
      It shouldn't be necessary to backup unused partitions, however
 the partition GUID is created at the time the GPT is created and
 is never changed.  It shouldn't matter if the GUID of an unused
 partition changes, but there may be some special case where it
 does.  Since it isn't a big deal to record the unused partitions,
 might as well do it.
 --
 Initial cut of gpt restore.  This functions correctly in testing,
 but isn't all that pretty.  It has minimal error testing and may
 leak memory.  It also only works with empty disks.  If passed "-F"
 flag, it will blank the disk for you.
 --
 document the new restore subcommand
 --
 - make gpt_gpt() available for use directly by subcommands
 - create new resizedisk disk subcommand for relocating backup GPT
 --
 Fix compile error observed on i386. Use PRIu64.
 --
 no C99isms in tool code
 --
 - handle a GPT that isn't an exact multiple of a sector
 - adjust PMBR size, in case new disk is a different size
 - don't leak as much memory
 - clean up error handling somewhat
 --
 PR/44218 - David Young -- add "type" subcommand to change a partition type
 --
 PR/47990 - Dr. Wolfgang Stukenbrock -- add "-L <label>" as selector option
 --
 minor toolification: need libprop...
 --
 more toolification
 --
 more toolification changes
 --
 remove compat defines.
 --
 Add internal uuid support, since the linux+macos versions of the library
 are different than than *bsd ones, and others might not have it at all.
 --
 Check size of correct buffer.  Note, just being pedantic as the buffer
 being checked is the same size as the one that should have been checked.
 --
 correctly show partition type in the new world order
 --
 actually return the uuid when parsing one that is in numeric format
 --
 using random values for hdr->hdr_guid does not work very well
 --
 oops, forgot to update end of data area
 --
 It's HAVE_NBTOOL_CONFIG_H, not HAVE_NBTOOLS_CONFIG_H
 --
 Fix tools build on !NetBSD.
 --
 include <sys/endian.h> for both the non-tools build,
 and the tools build on a host where the file exists.
 Fixes a build problem on FreeBSD, reported by Herbert J. Skuhra, where
 tools/compat's configure detected that be32dec() and friends were
 available in the host's <sys/endian.h>, so tools/compat did not provide
 its own versions.
 --
 "0" is not guaranteed to be unique
 --
 provide a copy of the kernel uuid generator (with portable API calls) for
 tools.
 --
 Allow specifying sector and media size on the command line.
 --
 Remove trailing whitespace.
 --
 Make gpt(8) generate v4 (random) uuids.
 Don't needlessly leak your date/time and MAC address when you edit
 the disk.
 Read from /dev/urandom rather than calling arc4random or anything,
 since this is a tool.  (Cygwin seems to have /dev/urandom, but yell
 if this breaks the build on your exotic platform because it lacks
 /dev/urandom.)
 ok apb
 --
 Paranoia: choke noisily on EOF from /dev/urandom.
 --
 Report the argument instead of (null) when opendisk fails.
 --
 handle constness
 --
 handle constness better
 --
 Add some more common partition types.
 --
 Bump date for previous.
 --
 Fix handling of -t option for the type command.
 Match any type, when no option is given, just like for the label command.
 --
 Factor out the getdisksize() drvctl method, and provide an alternative that
 directly uses the disk ioctl's instead of relying on the drvctl device driver
 which is currently not mandatory.


 To generate a diff of this commit:
 cvs rdiff -u -r1.8 -r1.8.2.1 src/sbin/gpt/Makefile
 cvs rdiff -u -r1.24 -r1.24.4.1 src/sbin/gpt/add.c
 cvs rdiff -u -r1.1 -r1.1.6.1 src/sbin/gpt/backup.c
 cvs rdiff -u -r1.7 -r1.7.4.1 src/sbin/gpt/biosboot.c src/sbin/gpt/create.c
 cvs rdiff -u -r1.4 -r1.4.20.1 src/sbin/gpt/destroy.c src/sbin/gpt/recover.c
 cvs rdiff -u -r0 -r1.1.2.2 src/sbin/gpt/drvctl.c
 cvs rdiff -u -r1.28 -r1.28.4.1 src/sbin/gpt/gpt.8
 cvs rdiff -u -r1.28 -r1.28.2.1 src/sbin/gpt/gpt.c
 cvs rdiff -u -r1.11 -r1.11.2.1 src/sbin/gpt/gpt.h
 cvs rdiff -u -r0 -r1.10.2.2 src/sbin/gpt/gpt_uuid.c
 cvs rdiff -u -r0 -r1.3.2.2 src/sbin/gpt/gpt_uuid.h
 cvs rdiff -u -r1.14 -r1.14.4.1 src/sbin/gpt/label.c src/sbin/gpt/migrate.c
 cvs rdiff -u -r1.6 -r1.6.4.1 src/sbin/gpt/map.c
 cvs rdiff -u -r1.12 -r1.12.4.1 src/sbin/gpt/remove.c
 cvs rdiff -u -r1.8 -r1.8.6.1 src/sbin/gpt/resize.c
 cvs rdiff -u -r0 -r1.6.2.2 src/sbin/gpt/resizedisk.c src/sbin/gpt/type.c
 cvs rdiff -u -r1.1 -r1.1.2.1 src/sbin/gpt/restore.c
 cvs rdiff -u -r1.2 -r1.2.6.1 src/sbin/gpt/set.c src/sbin/gpt/unset.c
 cvs rdiff -u -r1.15 -r1.15.4.1 src/sbin/gpt/show.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: analyzed->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Tue, 08 Sep 2015 05:01:20 +0000
State-Changed-Why:
fixed? or do we want pullup-6 as well?


From: John Nemeth <jnemeth@cue.bc.ca>
To: gnats-bugs@NetBSD.org, jnemeth@NetBSD.org, netbsd-bugs@netbsd.org,
        gnats-admin@netbsd.org, dholland@NetBSD.org, dyoung@ojctech.com
Cc: 
Subject: Re: bin/44218 (gpt(8) cannot "modify" a partition)
Date: Mon, 7 Sep 2015 22:48:05 -0700

 On Sep 8,  5:01am, dholland@NetBSD.org wrote:
 }
 } Synopsis: gpt(8) cannot "modify" a partition
 } 
 } State-Changed-From-To: analyzed->feedback
 } State-Changed-By: dholland@NetBSD.org
 } State-Changed-When: Tue, 08 Sep 2015 05:01:20 +0000
 } State-Changed-Why:
 } fixed? or do we want pullup-6 as well?

      pullup-6 as well.  Basically, pullup everything except the
 toolification.

 }-- End of excerpt from dholland@NetBSD.org

State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Tue, 08 Sep 2015 05:31:44 +0000
State-Changed-Why:
ok, someone do pullup-6 sometime :-)


State-Changed-From-To: open->needs-pullups
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 09 Jul 2016 17:21:21 +0000
State-Changed-Why:
pullup-6 was requested; use new state for that


State-Changed-From-To: needs-pullups->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Thu, 23 Aug 2018 22:09:39 +0000
State-Changed-Why:
netbsd-6 is EOL.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.