This basically allows you to stick a disklabel on any partition.
For it to be useful, you must stick your disklabel on the partition which starts where the MBR says FreeBSD lives. If you don't do that, you might get a bad day. Oh, that probably also means that putting swap there is a bad idea...
This commit is contained in:
parent
e57dc19458
commit
1be9232f73
@ -36,7 +36,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94
|
||||
* $Id: ufs_disksubr.c,v 1.3 1994/08/02 07:54:53 davidg Exp $
|
||||
* $Id: ufs_disksubr.c,v 1.4 1994/10/08 06:57:23 phk Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -361,11 +361,14 @@ writedisklabel(dev, strat, lp)
|
||||
int error = 0;
|
||||
|
||||
labelpart = dkpart(dev);
|
||||
/* XXX this is wrong. But leaving it in is worse. */
|
||||
#ifndef __FREEBSD__
|
||||
if (lp->d_partitions[labelpart].p_offset != 0) {
|
||||
if (lp->d_partitions[0].p_offset != 0)
|
||||
return (EXDEV); /* not quite right */
|
||||
labelpart = 0;
|
||||
}
|
||||
#endif
|
||||
bp = geteblk((int)lp->d_secsize);
|
||||
bp->b_dev = makedev(major(dev), dkminor(dkunit(dev), labelpart));
|
||||
bp->b_blkno = LABELSECTOR;
|
||||
|
@ -36,7 +36,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ufs_disksubr.c 8.5 (Berkeley) 1/21/94
|
||||
* $Id: ufs_disksubr.c,v 1.3 1994/08/02 07:54:53 davidg Exp $
|
||||
* $Id: ufs_disksubr.c,v 1.4 1994/10/08 06:57:23 phk Exp $
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
@ -361,11 +361,14 @@ writedisklabel(dev, strat, lp)
|
||||
int error = 0;
|
||||
|
||||
labelpart = dkpart(dev);
|
||||
/* XXX this is wrong. But leaving it in is worse. */
|
||||
#ifndef __FREEBSD__
|
||||
if (lp->d_partitions[labelpart].p_offset != 0) {
|
||||
if (lp->d_partitions[0].p_offset != 0)
|
||||
return (EXDEV); /* not quite right */
|
||||
labelpart = 0;
|
||||
}
|
||||
#endif
|
||||
bp = geteblk((int)lp->d_secsize);
|
||||
bp->b_dev = makedev(major(dev), dkminor(dkunit(dev), labelpart));
|
||||
bp->b_blkno = LABELSECTOR;
|
||||
|
Loading…
Reference in New Issue
Block a user