svn commit: r226554 - head/sys/boot/common

Andriy Gapon avg at FreeBSD.org
Thu Oct 20 07:06:39 UTC 2011


on 20/10/2011 02:48 Pawel Jakub Dawidek said the following:
> Author: pjd
> Date: Wed Oct 19 23:48:15 2011
> New Revision: 226554
> URL: http://svn.freebsd.org/changeset/base/226554
> 
> Log:
>   Fix missing return when LOADER_GPT_SUPPORT is defined, but LOADER_MBR_SUPPORT
>   is not.
>   
>   MFC after:	3 days
> 
> Modified:
>   head/sys/boot/common/disk.c
> 
> Modified: head/sys/boot/common/disk.c
> ==============================================================================
> --- head/sys/boot/common/disk.c	Wed Oct 19 23:44:38 2011	(r226553)
> +++ head/sys/boot/common/disk.c	Wed Oct 19 23:48:15 2011	(r226554)
> @@ -776,9 +776,9 @@ disk_open(struct disk_devdesc *dev)
>  
>  #ifdef LOADER_GPT_SUPPORT
>  	rc = disk_opengpt(dev);
> -	if (rc)
>  #endif
>  #ifdef LOADER_MBR_SUPPORT
> +	if (rc)
>  		rc = disk_openmbr(dev);
>  #endif
>  

I believe that this fix is incorrect.  Now with !LOADER_GPT_SUPPORT and
LOADER_MBR_SUPPORT the preprocessed code would be:

	rc = 0;
	/*
	 * While we are reading disk metadata, make sure we do it relative
	 * to the start of the disk
	 */
	dev->d_offset = 0;

	if (rc)
		rc = disk_openmbr(dev);

Please see my take at the problem:
https://gitorious.org/~avg/freebsd/avgbsd/commit/49adde51339791a7bf0e2c75f24eeda2bc886da5

-- 
Andriy Gapon


More information about the svn-src-head mailing list