bin/164278: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Sun Feb 5 16:10:10 UTC 2012


The following reply was made to PR bin/164278; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: bin/164278: commit references a PR
Date: Sun,  5 Feb 2012 16:08:55 +0000 (UTC)

 Author: nwhitehorn
 Date: Sun Feb  5 16:08:45 2012
 New Revision: 231020
 URL: http://svn.freebsd.org/changeset/base/231020
 
 Log:
   MFC r230309:
   
   Warn if trying to install over an existing partition, which usually fails
   anyway due to libarchive not being able to overwrite schg flags.
   
   PR:		bin/164278
 
 Modified:
   stable/9/usr.sbin/bsdinstall/partedit/partedit.c
 Directory Properties:
   stable/9/usr.sbin/bsdinstall/   (props changed)
   stable/9/usr.sbin/bsdinstall/scripts/   (props changed)
 
 Modified: stable/9/usr.sbin/bsdinstall/partedit/partedit.c
 ==============================================================================
 --- stable/9/usr.sbin/bsdinstall/partedit/partedit.c	Sun Feb  5 15:59:18 2012	(r231019)
 +++ stable/9/usr.sbin/bsdinstall/partedit/partedit.c	Sun Feb  5 16:08:45 2012	(r231020)
 @@ -240,23 +240,41 @@ delete_part_metadata(const char *name)
  static int
  validate_setup(void)
  {
 -	struct partition_metadata *md;
 -	int root_found = FALSE;
 +	struct partition_metadata *md, *root = NULL;
 +	int cancel;
  
  	TAILQ_FOREACH(md, &part_metadata, metadata) {
  		if (md->fstab != NULL && strcmp(md->fstab->fs_file, "/") == 0)
 -			root_found = TRUE;
 +			root = md;
  
  		/* XXX: Check for duplicate mountpoints */
  	}
  
 -	if (!root_found) {
 +	if (root == NULL) {
  		dialog_msgbox("Error", "No root partition was found. "
  		    "The root FreeBSD partition must have a mountpoint of '/'.",
  		0, 0, TRUE);
  		return (FALSE);
  	}
  
 +	/*
 +	 * Check for root partitions that we aren't formatting, which is 
 +	 * usually a mistake
 +	 */
 +	if (root->newfs == NULL) {
 +		dialog_vars.defaultno = TRUE;
 +		cancel = dialog_yesno("Warning", "The chosen root partition "
 +		    "has a preexisting filesystem. If it contains an existing "
 +		    "FreeBSD system, please update it with freebsd-update "
 +		    "instead of installing a new system on it. The partition "
 +		    "can also be erased by pressing \"No\" and then deleting "
 +		    "and recreating it. Are you sure you want to proceed?",
 +		    0, 0);
 +		dialog_vars.defaultno = FALSE;
 +		if (cancel)
 +			return (FALSE);
 +	}
 +
  	return (TRUE);
  }
  
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-sysinstall mailing list