Continue untangling the disklabel. Add sector index reservation fields
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 16 May 2007 05:20:26 +0000 (05:20 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 16 May 2007 05:20:26 +0000 (05:20 +0000)
to the diskslice and partinfo structures.  These fields will replace the
hardcoded LABELSECTOR constant and also help manage reserved areas in
the disklabel.

13 files changed:
sbin/diskinfo/diskinfo.c
sys/dev/disk/ata/atapi-cd.c
sys/dev/disk/ccd/ccd.c
sys/dev/raid/vinum/vinumhdr.h
sys/dev/raid/vinum/vinumparser.c
sys/kern/subr_diskmbr.c
sys/kern/subr_diskslice.c
sys/sys/disklabel.h
sys/sys/disklabel32.h
sys/sys/diskslice.h
sys/sys/odisklabel.h
sys/vfs/gnu/ext2fs/ext2_vfsops.c
sys/vfs/ufs/ffs_vfsops.c

index 2744f5f..78bd786 100644 (file)
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  * 
- * $DragonFly: src/sbin/diskinfo/diskinfo.c,v 1.1 2007/05/15 17:53:11 dillon Exp $
+ * $DragonFly: src/sbin/diskinfo/diskinfo.c,v 1.2 2007/05/16 05:20:10 dillon Exp $
  */
 
 #define DKTYPENAMES
 #include <sys/types.h>
 #include <sys/fcntl.h>
 #include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -128,6 +129,14 @@ dumppart(const char *path, struct partinfo *dpart)
                                printf("%s", fstypenames[dpart->fstype]);
                        }
                }
+               if (dpart->skip_platform || dpart->skip_bsdlabel) {
+                       /*
+                        * note: rsvdlabel is inclusive of rsvdplat. i.e.
+                        * they are not relative to each other.
+                        */
+                       printf(" rsvdplat=%d rsvdlabel=%d",
+                               dpart->skip_platform, dpart->skip_bsdlabel);
+               }
        }
        printf("\n");
 }
index 45cefbe..5f98e09 100644 (file)
@@ -26,7 +26,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.48.2.20 2002/11/25 05:30:31 njl Exp $
- * $DragonFly: src/sys/dev/disk/ata/atapi-cd.c,v 1.31 2007/05/15 17:50:51 dillon Exp $
+ * $DragonFly: src/sys/dev/disk/ata/atapi-cd.c,v 1.32 2007/05/16 05:20:12 dillon Exp $
  */
 
 #include "opt_ata.h"
@@ -39,6 +39,7 @@
 #include <sys/buf.h>
 #include <sys/bus.h>
 #include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/devicestat.h>
 #include <sys/cdio.h>
 #include <sys/cdrio.h>
index ceb0df9..dfee05f 100644 (file)
@@ -1,5 +1,5 @@
 /* $FreeBSD: src/sys/dev/ccd/ccd.c,v 1.73.2.1 2001/09/11 09:49:52 kris Exp $ */
-/* $DragonFly: src/sys/dev/disk/ccd/ccd.c,v 1.41 2007/05/15 22:44:04 dillon Exp $ */
+/* $DragonFly: src/sys/dev/disk/ccd/ccd.c,v 1.42 2007/05/16 05:20:13 dillon Exp $ */
 
 /*     $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */
 
 #include <sys/stat.h>
 #include <sys/sysctl.h>
 #include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/devicestat.h>
 #include <sys/fcntl.h>
 #include <sys/vnode.h>
index 2fe9f2e..943fa78 100644 (file)
@@ -38,7 +38,7 @@
 /*
  * $Id: vinumhdr.h,v 1.18 2001/01/04 00:14:14 grog Exp grog $
  * $FreeBSD: src/sys/dev/vinum/vinumhdr.h,v 1.16.2.1 2001/03/13 02:59:43 grog Exp $
- * $DragonFly: src/sys/dev/raid/vinum/vinumhdr.h,v 1.11 2006/04/03 02:02:34 dillon Exp $
+ * $DragonFly: src/sys/dev/raid/vinum/vinumhdr.h,v 1.12 2007/05/16 05:20:21 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -61,6 +61,7 @@
 #include <sys/namei.h>
 #include <sys/stat.h>
 #include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/syslog.h>
 #include <sys/fcntl.h>
 #include <sys/queue.h>
index c255a21..7053a43 100644 (file)
@@ -35,7 +35,7 @@
  *
  * $Id: vinumparser.c,v 1.21 2000/12/20 03:44:13 grog Exp grog $
  * $FreeBSD: src/sys/dev/vinum/vinumparser.c,v 1.20.2.5 2001/05/28 05:56:27 grog Exp $
- * $DragonFly: src/sys/dev/raid/vinum/vinumparser.c,v 1.6 2006/04/30 17:22:17 dillon Exp $
+ * $DragonFly: src/sys/dev/raid/vinum/vinumparser.c,v 1.7 2007/05/16 05:20:21 dillon Exp $
  */
 
 /*
@@ -68,7 +68,7 @@
 #include <sys/buf.h>
 #include <sys/proc.h>
 #include <sys/namei.h>
-#include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/mount.h>
 
 #include "vinumvar.h"
index d277782..7ceeeee 100644 (file)
  *     from: @(#)ufs_disksubr.c        7.16 (Berkeley) 5/4/91
  *     from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $
  * $FreeBSD: src/sys/kern/subr_diskmbr.c,v 1.45 2000/01/28 10:22:07 bde Exp $
- * $DragonFly: src/sys/kern/subr_diskmbr.c,v 1.21 2007/05/15 22:44:14 dillon Exp $
+ * $DragonFly: src/sys/kern/subr_diskmbr.c,v 1.22 2007/05/16 05:20:23 dillon Exp $
  */
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/buf.h>
 #include <sys/conf.h>
-#include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #define        DOSPTYP_EXTENDED        5
 #define        DOSPTYP_EXTENDEDX       15
 #define        DOSPTYP_ONTRACK         84
@@ -510,5 +510,12 @@ mbr_setslice(char *sname, struct disk_info *info, struct diskslice *sp,
        sp->ds_offset = offset;
        sp->ds_size = size;
        sp->ds_type = dp->dp_typ;
+
+       /*
+        * The first sector in each slice is reserved for a system boot
+        * sector.
+        */
+       sp->ds_skip_platform = 1;
+       sp->ds_skip_bsdlabel = 0;
        return (0);
 }
index 6da7ecf..15ea8a2 100644 (file)
@@ -44,7 +44,7 @@
  *     from: @(#)ufs_disksubr.c        7.16 (Berkeley) 5/4/91
  *     from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $
  * $FreeBSD: src/sys/kern/subr_diskslice.c,v 1.82.2.6 2001/07/24 09:49:41 dd Exp $
- * $DragonFly: src/sys/kern/subr_diskslice.c,v 1.31 2007/05/15 22:44:14 dillon Exp $
+ * $DragonFly: src/sys/kern/subr_diskslice.c,v 1.32 2007/05/16 05:20:23 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -452,6 +452,8 @@ dsioctl(cdev_t dev, u_long cmd, caddr_t data, int flags,
                                                info->d_media_blksize;
                        dpart->media_blocks   = sp->ds_size;
                        dpart->media_blksize  = info->d_media_blksize;
+                       dpart->skip_platform = sp->ds_skip_platform;
+                       dpart->skip_bsdlabel = sp->ds_skip_bsdlabel;
                        if (lp && slice != WHOLE_DISK_SLICE) {
                                struct partition *p;
 
@@ -461,6 +463,20 @@ dsioctl(cdev_t dev, u_long cmd, caddr_t data, int flags,
                                                       info->d_media_blksize;
                                dpart->media_size = (u_int64_t)p->p_size *
                                                    info->d_media_blksize;
+
+                               /*
+                                * partition starting sector (p_offset)
+                                * requires slice's reserved areas to be
+                                * adjusted.
+                                */
+                               if (dpart->skip_platform > p->p_offset)
+                                       dpart->skip_platform -= p->p_offset;
+                               else
+                                       dpart->skip_platform = 0;
+                               if (dpart->skip_bsdlabel > p->p_offset)
+                                       dpart->skip_bsdlabel -= p->p_offset;
+                               else
+                                       dpart->skip_bsdlabel = 0;
                        }
                }
                return (0);
@@ -480,16 +496,17 @@ dsioctl(cdev_t dev, u_long cmd, caddr_t data, int flags,
                        bzero(lp, sizeof *lp);
                else
                        bcopy(sp->ds_label, lp, sizeof *lp);
-               if (sp->ds_label == NULL)
+               if (sp->ds_label == NULL) {
                        openmask = 0;
-               else {
+               else {
                        openmask = sp->ds_openmask;
-                       if (slice == COMPATIBILITY_SLICE)
+                       if (slice == COMPATIBILITY_SLICE) {
                                openmask |= ssp->dss_slices[
                                    ssp->dss_first_bsd_slice].ds_openmask;
-                       else if (slice == ssp->dss_first_bsd_slice)
+                       } else if (slice == ssp->dss_first_bsd_slice) {
                                openmask |= ssp->dss_slices[
                                    COMPATIBILITY_SLICE].ds_openmask;
+                       }
                }
                error = setdisklabel(lp, (struct disklabel *)data,
                                     (u_long)openmask);
@@ -737,6 +754,8 @@ dsopen(cdev_t dev, int mode, u_int flags,
                 * Allocate a minimal slices "struct".  This will become
                 * the final slices "struct" if we don't want real slices
                 * or if we can't find any real slices.
+                *
+                * Then scan the disk
                 */
                *sspp = dsmakeslicestruct(BASE_SLICE, info);
 
@@ -754,29 +773,49 @@ dsopen(cdev_t dev, int mode, u_int flags,
                /*
                 * If there are no real slices, then make the compatiblity
                 * slice cover the whole disk.
+                *
+                * no sectors are reserved for the platform (ds_skip_platform
+                * will be 0) in this case.  This means that if a disklabel
+                * is installed it will be directly installed in sector 0.
                 */
                if (ssp->dss_nslices == BASE_SLICE) {
                        ssp->dss_slices[COMPATIBILITY_SLICE].ds_size
                                = info->d_media_blocks;
                }
 
-               /* Point the compatibility slice at the BSD slice, if any. */
+               /*
+                * Point the compatibility slice at the BSD slice, if any. 
+                */
                for (slice = BASE_SLICE; slice < ssp->dss_nslices; slice++) {
                        sp = &ssp->dss_slices[slice];
                        if (sp->ds_type == DOSPTYP_386BSD /* XXX */) {
+                               struct diskslice *csp;
+
+                               csp = &ssp->dss_slices[COMPATIBILITY_SLICE];
                                ssp->dss_first_bsd_slice = slice;
-                               ssp->dss_slices[COMPATIBILITY_SLICE].ds_offset
-                                       = sp->ds_offset;
-                               ssp->dss_slices[COMPATIBILITY_SLICE].ds_size
-                                       = sp->ds_size;
-                               ssp->dss_slices[COMPATIBILITY_SLICE].ds_type
-                                       = sp->ds_type;
+                               csp->ds_offset = sp->ds_offset;
+                               csp->ds_size = sp->ds_size;
+                               csp->ds_type = sp->ds_type;
+                               csp->ds_skip_platform = sp->ds_skip_platform;
+                               csp->ds_skip_bsdlabel = sp->ds_skip_bsdlabel;
                                break;
                        }
                }
+
+               /*
+                * By definition accesses via the whole-disk device do not
+                * specify any reserved areas.  The whole disk may be read
+                * or written by the whole-disk device.
+                *
+                * XXX do not set a label for the whole disk slice, the
+                * code should be able to operate without one once we
+                * fix the virgin label code.
+                */
                sp = &ssp->dss_slices[WHOLE_DISK_SLICE];
                sp->ds_label = clone_label(info, NULL);
                sp->ds_wlabel = TRUE;
+               sp->ds_skip_platform = 0;
+               sp->ds_skip_bsdlabel = 0;
        }
 
        /*
@@ -989,11 +1028,39 @@ slice_info(char *sname, struct diskslice *sp)
 static void
 set_ds_label(struct diskslices *ssp, int slice, struct disklabel *lp)
 {
-       ssp->dss_slices[slice].ds_label = lp;
+       struct diskslice *sp1 = &ssp->dss_slices[slice];
+       struct diskslice *sp2;
+
        if (slice == COMPATIBILITY_SLICE)
-               ssp->dss_slices[ssp->dss_first_bsd_slice].ds_label = lp;
+               sp2 = &ssp->dss_slices[ssp->dss_first_bsd_slice];
        else if (slice == ssp->dss_first_bsd_slice)
-               ssp->dss_slices[COMPATIBILITY_SLICE].ds_label = lp;
+               sp2 = &ssp->dss_slices[COMPATIBILITY_SLICE];
+       else
+               sp2 = NULL;
+       sp1->ds_label = lp;
+       if (sp2)
+               sp2->ds_label = lp;
+
+       /*
+        * If the slice is not the whole-disk slice, setup the reserved
+        * area(s).
+        *
+        * The reserved area for the original bsd disklabel, inclusive of
+        * the label and space for boot2, is 15 sectors.  If you've
+        * noticed people traditionally skipping 16 sectors its because
+        * the sector numbers start at the beginning of the slice rather
+        * then the beginning of the disklabel and traditional dos slices
+        * reserve a sector at the beginning for the boot code.
+        *
+        * NOTE! With the traditional bsdlabel, the first N bytes of boot2
+        * overlap with the disklabel.  The disklabel program checks that
+        * they are 0.
+        */
+       if (slice != WHOLE_DISK_SLICE) {
+               sp1->ds_skip_bsdlabel = sp1->ds_skip_platform + 15;
+               if (sp2)
+                       sp2->ds_skip_bsdlabel = sp1->ds_skip_bsdlabel;
+       }
 }
 
 static void
index cce6bf2..9dd19cc 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)disklabel.h 8.2 (Berkeley) 7/10/94
  * $FreeBSD: src/sys/sys/disklabel.h,v 1.49.2.7 2001/05/27 05:58:26 jkh Exp $
- * $DragonFly: src/sys/sys/disklabel.h,v 1.19 2007/05/15 17:51:02 dillon Exp $
+ * $DragonFly: src/sys/sys/disklabel.h,v 1.20 2007/05/16 05:20:25 dillon Exp $
  */
 
 #ifndef _SYS_DISKLABEL_H_
@@ -293,32 +293,12 @@ static const char *fstypenames[] = {
 
 #ifndef LOCORE
 
-/*
- * DIOCGPART ioctl - returns information about a slice or partition.  This
- * ioctl is primarily used to get the block size and media size.
- *
- * NOTE: media_offset currently represents the byte offset on the raw device,
- * it is not a partition relative offset.
- */
-struct partinfo {
-       u_int64_t       media_offset;   /* byte offset in parent layer */
-       u_int64_t       media_size;     /* media size in bytes */
-       u_int64_t       media_blocks;   /* media size in blocks */
-       int             media_blksize;  /* block size in bytes (sector size) */
-
-       int             reserved01;
-       int             reserved02;
-       int             fstype;         /* filesystem type if numeric */
-       char            fstypestr[16];  /* filesystem type as ascii */
-};
-
 /*
  * Disk-specific ioctls.
  */
 #define DIOCGDINFO     _IOR('d', 101, struct disklabel)/* get */
 #define DIOCSDINFO     _IOW('d', 102, struct disklabel)/* set */
 #define DIOCWDINFO     _IOW('d', 103, struct disklabel)/* set, update disk */
-#define DIOCGPART      _IOR('d', 104, struct partinfo) /* get partition */
 #define DIOCGDVIRGIN   _IOR('d', 105, struct disklabel) /* get virgin label */
 
 #define DIOCWLABEL     _IOW('d', 109, int)     /* write en/disable label */
index 7eb7452..e86652c 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)disklabel.h 8.2 (Berkeley) 7/10/94
  * $FreeBSD: src/sys/sys/disklabel.h,v 1.49.2.7 2001/05/27 05:58:26 jkh Exp $
- * $DragonFly: src/sys/sys/disklabel32.h,v 1.19 2007/05/15 17:51:02 dillon Exp $
+ * $DragonFly: src/sys/sys/disklabel32.h,v 1.20 2007/05/16 05:20:25 dillon Exp $
  */
 
 #ifndef _SYS_DISKLABEL_H_
@@ -293,32 +293,12 @@ static const char *fstypenames[] = {
 
 #ifndef LOCORE
 
-/*
- * DIOCGPART ioctl - returns information about a slice or partition.  This
- * ioctl is primarily used to get the block size and media size.
- *
- * NOTE: media_offset currently represents the byte offset on the raw device,
- * it is not a partition relative offset.
- */
-struct partinfo {
-       u_int64_t       media_offset;   /* byte offset in parent layer */
-       u_int64_t       media_size;     /* media size in bytes */
-       u_int64_t       media_blocks;   /* media size in blocks */
-       int             media_blksize;  /* block size in bytes (sector size) */
-
-       int             reserved01;
-       int             reserved02;
-       int             fstype;         /* filesystem type if numeric */
-       char            fstypestr[16];  /* filesystem type as ascii */
-};
-
 /*
  * Disk-specific ioctls.
  */
 #define DIOCGDINFO     _IOR('d', 101, struct disklabel)/* get */
 #define DIOCSDINFO     _IOW('d', 102, struct disklabel)/* set */
 #define DIOCWDINFO     _IOW('d', 103, struct disklabel)/* set, update disk */
-#define DIOCGPART      _IOR('d', 104, struct partinfo) /* get partition */
 #define DIOCGDVIRGIN   _IOR('d', 105, struct disklabel) /* get virgin label */
 
 #define DIOCWLABEL     _IOW('d', 109, int)     /* write en/disable label */
index 4140f3f..e44da8b 100644 (file)
@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/sys/diskslice.h,v 1.36.2.1 2001/01/29 01:50:50 ken Exp $
- * $DragonFly: src/sys/sys/diskslice.h,v 1.11 2007/05/15 22:44:19 dillon Exp $
+ * $DragonFly: src/sys/sys/diskslice.h,v 1.12 2007/05/16 05:20:25 dillon Exp $
  */
 
 #ifndef        _SYS_DISKSLICE_H_
 #include <sys/ioccom.h>
 #endif
 
-#define        BASE_SLICE              2
-#define        COMPATIBILITY_SLICE     0
+#define        BASE_SLICE              2       /* e.g. ad0s1 */
+#define        COMPATIBILITY_SLICE     0       /* e.g. ad0a-j */
 #define        DIOCGSLICEINFO          _IOR('d', 111, struct diskslices)
 #define        DIOCSYNCSLICEINFO       _IOW('d', 112, int)
 #define        MAX_SLICES              16
-#define        WHOLE_DISK_SLICE        1
+#define        WHOLE_DISK_SLICE        1       /* e.g. ad0 */
 
 #ifdef MAXPARTITIONS                   /* XXX don't depend on disklabel.h */
 #if MAXPARTITIONS !=   16              /* but check consistency if possible */
 #define        MAXPARTITIONS   16
 #endif
 
+/*
+ * diskslice structure - slices up the disk and indicates where the
+ * BSD labels are, if any.
+ *
+ * ds_skip_platform  - sectors reserved by the platform abstraction,
+ *                     typically to hold boot sectors and other junk.
+ *                     The BSD label is placed after the reserved sectors.
+ *
+ *                     This field is typically non-zero for dos slices.
+ *                     It will always be 0 for the whole-disk slice.
+ *                     
+ * ds_skip_bsdlabel  - sectors reserved by the BSD label.  Always 0 when
+ *                     the disk is accessed via the whole-disk slice.
+ *
+ *                     This field includes any sectors reserved by the
+ *                     platform. e.g. in a dos slice the platform uses
+ *                     1 sector (the boot code sector) and the disklabel
+ *                     uses 15 sectors.  This field will be set to 16.
+ *                     
+ *                     This field would end up being set to one less for
+ *                     a directly labeled disk, at least for a standard
+ *                     bsd disklabel vs MBR + bsd disklabel.
+ */
 struct diskslice {
        u_int64_t       ds_offset;      /* starting sector */
        u_int64_t       ds_size;        /* number of sectors */
+       u_int32_t       ds_skip_platform;       /* in sectors */
+       u_int32_t       ds_skip_bsdlabel;       /* in sectors */
        int             ds_type;        /* (foreign) slice type */
        struct disklabel *ds_label;     /* BSD label, if any */
        void            *ds_dev;        /* devfs token for raw whole slice */
@@ -75,6 +100,35 @@ struct diskslices {
                dss_slices[MAX_SLICES]; /* actually usually less */
 };
 
+/*
+ * DIOCGPART ioctl - returns information about a disk, slice, or partition.
+ * This ioctl is primarily used to get the block size and media size.
+ *
+ * NOTE: media_offset currently represents the byte offset on the raw device,
+ * it is not a partition relative offset.
+ *
+ * skip_platform and skip_bsdlabel work as with the diskslice
+ * structure.  For partitions within a disklabel these fields are usually
+ * 0 except for partitions which overlap the label or slice reserved area
+ * itself.  Those partitions will set these fields appropriately (relative
+ * to the partition).  In particular, the 'a' and 'c' partitions are
+ * protected.
+ */
+struct partinfo {
+       u_int64_t       media_offset;   /* byte offset in parent layer */
+       u_int64_t       media_size;     /* media size in bytes */
+       u_int64_t       media_blocks;   /* media size in blocks */
+       int             media_blksize;  /* block size in bytes (sector size) */
+
+       u_int32_t       skip_platform;  /* in sectors */
+       u_int32_t       skip_bsdlabel;  /* in sectors */
+       int             fstype;         /* filesystem type if numeric */
+       char            fstypestr[16];  /* filesystem type as ascii */
+};
+
+#define DIOCGPART      _IOR('d', 104, struct partinfo) /* get partition */
+
+
 #ifdef _KERNEL
 
 #define        dsgetlabel(dev, ssp)    (ssp->dss_slices[dkslice(dev)].ds_label)
index add7600..6cca35f 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)disklabel.h 8.2 (Berkeley) 7/10/94
  * $FreeBSD: src/sys/sys/disklabel.h,v 1.49.2.7 2001/05/27 05:58:26 jkh Exp $
- * $DragonFly: src/sys/sys/Attic/odisklabel.h,v 1.17 2007/05/14 20:02:45 dillon Exp $
+ * $DragonFly: src/sys/sys/Attic/odisklabel.h,v 1.18 2007/05/16 05:20:25 dillon Exp $
  */
 
 #ifndef _SYS_ODISKLABEL_H_
 #include <sys/conf.h>          /* for make_sub_dev() */
 #endif
 
-/*
- * Each disk has a label which includes information about the hardware
- * disk geometry, filesystem partitions, and drive specific information.
- * The label is in block 0 or 1, possibly offset from the beginning
- * to leave room for a bootstrap, etc.
- */
-
-/* XXX these should be defined per controller (or drive) elsewhere, not here! */
-#ifdef __i386__
-#define LABELSECTOR    1                       /* sector containing label */
-#define LABELOFFSET    0                       /* offset of label in sector */
-#endif
-
-#ifndef        LABELSECTOR
-#define LABELSECTOR    0                       /* sector containing label */
-#endif
-
-#ifndef        LABELOFFSET
-#define LABELOFFSET    64                      /* offset of label in sector */
-#endif
-
 #define DISKMAGIC      ((u_int32_t)0x82564557) /* The disk magic number */
 #ifndef MAXPARTITIONS
 #define        MAXPARTITIONS   16
index b01b2f2..76f041a 100644 (file)
@@ -38,7 +38,7 @@
  *
  *     @(#)ffs_vfsops.c        8.8 (Berkeley) 4/18/94
  *     $FreeBSD: src/sys/gnu/ext2fs/ext2_vfsops.c,v 1.63.2.7 2002/07/01 00:18:51 iedowse Exp $
- *     $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vfsops.c,v 1.54 2007/05/15 17:51:03 dillon Exp $
+ *     $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vfsops.c,v 1.55 2007/05/16 05:20:26 dillon Exp $
  */
 
 #include "opt_quota.h"
@@ -53,7 +53,7 @@
 #include <sys/buf.h>
 #include <sys/conf.h>
 #include <sys/fcntl.h>
-#include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/malloc.h>
 #include <sys/stat.h>
 #include <vm/vm_zone.h>
index aa9490e..c12c9be 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)ffs_vfsops.c        8.31 (Berkeley) 5/20/95
  * $FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.117.2.10 2002/06/23 22:34:52 iedowse Exp $
- * $DragonFly: src/sys/vfs/ufs/ffs_vfsops.c,v 1.55 2007/05/15 17:51:04 dillon Exp $
+ * $DragonFly: src/sys/vfs/ufs/ffs_vfsops.c,v 1.56 2007/05/16 05:20:26 dillon Exp $
  */
 
 #include "opt_quota.h"
@@ -47,7 +47,7 @@
 #include <sys/buf.h>
 #include <sys/conf.h>
 #include <sys/fcntl.h>
-#include <sys/disklabel.h>
+#include <sys/diskslice.h>
 #include <sys/malloc.h>
 
 #include "quota.h"