From owner-freebsd-bugs@FreeBSD.ORG Sat Mar 24 09:40:09 2007 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5F21A16A401 for ; Sat, 24 Mar 2007 09:40:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 42EF613C45E for ; Sat, 24 Mar 2007 09:40:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l2O9e8t2022495 for ; Sat, 24 Mar 2007 09:40:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l2O9e80S022494; Sat, 24 Mar 2007 09:40:08 GMT (envelope-from gnats) Date: Sat, 24 Mar 2007 09:40:08 GMT Message-Id: <200703240940.l2O9e80S022494@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Maxim Konovalov Cc: Subject: bin/110182 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Maxim Konovalov List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Mar 2007 09:40:09 -0000 The following reply was made to PR bin/110182; it has been noted by GNATS. From: Maxim Konovalov To: bug-followup@freebsd.org Cc: Subject: bin/110182 Date: Sat, 24 Mar 2007 12:34:03 +0300 (MSK) A bit polished patch inlined. Index: fdisk.8 =================================================================== RCS file: /home/ncvs/src/sbin/fdisk/fdisk.8,v retrieving revision 1.38 diff -u -p -r1.38 fdisk.8 --- fdisk.8 12 Dec 2006 15:26:25 -0000 1.38 +++ fdisk.8 24 Mar 2007 00:13:23 -0000 @@ -1,6 +1,6 @@ .\" $FreeBSD: src/sbin/fdisk/fdisk.8,v 1.38 2006/12/12 15:26:25 ru Exp $ .\" -.Dd December 12, 2006 +.Dd March 24, 2007 .Dt FDISK 8 .Os .Sh NAME @@ -8,7 +8,7 @@ .Nd PC slice table maintenance utility .Sh SYNOPSIS .Nm -.Op Fl BIaistu +.Op Fl BIaipstu .Op Fl b Ar bootcode .Op Fl 1234 .Op Ar disk @@ -109,6 +109,12 @@ Initialize sector 0 slice table for one .Fx slice covering the entire disk. +.It Fl p +Print a slice table in +.Nm +configuration file format and exit; see +.Sx CONFIGURATION FILE , +below. .It Fl s Print summary information and exit. .It Fl t Index: fdisk.c =================================================================== RCS file: /home/ncvs/src/sbin/fdisk/fdisk.c,v retrieving revision 1.82 diff -u -p -r1.82 fdisk.c --- fdisk.c 18 Jun 2006 22:02:22 -0000 1.82 +++ fdisk.c 23 Mar 2007 23:17:40 -0000 @@ -120,6 +120,7 @@ static int s_flag = 0; /* Print a summ static int t_flag = 0; /* test only */ static char *f_flag = NULL; /* Read config info from file */ static int v_flag = 0; /* Be verbose */ +static int print_config_flag = 0; static struct part_type { @@ -247,7 +248,7 @@ main(int argc, char *argv[]) int partition = -1; struct dos_partition *partp; - while ((c = getopt(argc, argv, "BIab:f:istuv1234")) != -1) + while ((c = getopt(argc, argv, "BIab:f:ipstuv1234")) != -1) switch (c) { case 'B': B_flag = 1; @@ -267,6 +268,9 @@ main(int argc, char *argv[]) case 'i': i_flag = 1; break; + case 'p': + print_config_flag = 1; + break; case 's': s_flag = 1; break; @@ -322,6 +326,30 @@ main(int argc, char *argv[]) free(mboot.bootinst); mboot.bootinst = NULL; + if (print_config_flag) { + if (read_s0()) + err(1, "read_s0"); + + printf("# %s\n", disk); + printf("g c%d h%d s%d\n", dos_cyls, dos_heads, dos_sectors); + + for (i = 0; i < NDOSPART; i++) { + partp = ((struct dos_partition *) &mboot.parts) + i; + + if (partp->dp_start == 0 && partp->dp_size == 0) + continue; + + printf ("p %d 0x%02x %lu %lu\n", i + 1, partp->dp_typ, + (u_long) partp->dp_start, (u_long) partp->dp_size); + + /* + * Fill flags for the partition. + */ + if (partp->dp_flag & 0x80) + printf ("a %d\n", i + 1); + } + exit(0); + } if (s_flag) { if (read_s0()) err(1, "read_s0"); @@ -413,7 +441,7 @@ static void usage() { fprintf(stderr, "%s%s", - "usage: fdisk [-BIaistu] [-b bootcode] [-1234] [disk]\n", + "usage: fdisk [-BIaipstu] [-b bootcode] [-1234] [disk]\n", " fdisk -f configfile [-itv] [disk]\n"); exit(1); } %%% -- Maxim Konovalov