summaryrefslogtreecommitdiffstats
path: root/sbin/bsdlabel/bsdlabel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/bsdlabel/bsdlabel.c')
-rw-r--r--sbin/bsdlabel/bsdlabel.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sbin/bsdlabel/bsdlabel.c b/sbin/bsdlabel/bsdlabel.c
index 6c16a47..3d3139f 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)) {
OpenPOWER on IntegriCloud