diff options
| author | Greg Lehey <grog@FreeBSD.org> | 2002-12-02 23:49:59 +0000 |
|---|---|---|
| committer | Greg Lehey <grog@FreeBSD.org> | 2002-12-02 23:49:59 +0000 |
| commit | f2f632579f3b99154a8f42ef2d1b29c4b6abfe48 (patch) | |
| tree | 9844ff776781c03f5736fcbbf4b5ab9906fe8886 | |
| parent | ba0b471d641446aef522d28938f104d7a31f219e (diff) | |
Notes
| -rw-r--r-- | sbin/bsdlabel/bsdlabel.c | 9 | ||||
| -rw-r--r-- | sbin/disklabel/disklabel.c | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c index 6c16a47e6ae4..3d3139f925a8 100644 --- a/sbin/bsdlabel/bsdlabel.c +++ b/sbin/bsdlabel/bsdlabel.c @@ -1462,7 +1462,8 @@ checklabel(struct disklabel *lp) } else { /* allow them to be out of order for old-style tables */ if (pp->p_offset < current_offset && - seen_default_offset && i != RAW_PART) { + seen_default_offset && i != RAW_PART && + pp->p_fstype != FS_VINUM) { fprintf(stderr, "Offset %ld for partition %c overlaps previous partition which ends at %lu\n", (long)pp->p_offset,i+'a',current_offset); @@ -1537,9 +1538,11 @@ checklabel(struct disklabel *lp) /* check for overlaps */ /* this will check for all possible overlaps once and only once */ for (j = 0; j < i; j++) { - if (j != RAW_PART && i != RAW_PART && + pp2 = &lp->d_partitions[j]; + if (j != RAW_PART && i != RAW_PART && + pp->p_fstype != FS_VINUM && + pp2->p_fstype != FS_VINUM && part_set[i] && part_set[j]) { - pp2 = &lp->d_partitions[j]; if (pp2->p_offset < pp->p_offset + pp->p_size && (pp2->p_offset + pp2->p_size > pp->p_offset || pp2->p_offset >= pp->p_offset)) { diff --git a/sbin/disklabel/disklabel.c b/sbin/disklabel/disklabel.c index 6c16a47e6ae4..3d3139f925a8 100644 --- a/sbin/disklabel/disklabel.c +++ b/sbin/disklabel/disklabel.c @@ -1462,7 +1462,8 @@ checklabel(struct disklabel *lp) } else { /* allow them to be out of order for old-style tables */ if (pp->p_offset < current_offset && - seen_default_offset && i != RAW_PART) { + seen_default_offset && i != RAW_PART && + pp->p_fstype != FS_VINUM) { fprintf(stderr, "Offset %ld for partition %c overlaps previous partition which ends at %lu\n", (long)pp->p_offset,i+'a',current_offset); @@ -1537,9 +1538,11 @@ checklabel(struct disklabel *lp) /* check for overlaps */ /* this will check for all possible overlaps once and only once */ for (j = 0; j < i; j++) { - if (j != RAW_PART && i != RAW_PART && + pp2 = &lp->d_partitions[j]; + if (j != RAW_PART && i != RAW_PART && + pp->p_fstype != FS_VINUM && + pp2->p_fstype != FS_VINUM && part_set[i] && part_set[j]) { - pp2 = &lp->d_partitions[j]; if (pp2->p_offset < pp->p_offset + pp->p_size && (pp2->p_offset + pp2->p_size > pp->p_offset || pp2->p_offset >= pp->p_offset)) { |
