]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libfdisk: (sun) make it more obvious why the first sector moved
authorKarel Zak <kzak@redhat.com>
Wed, 25 Sep 2013 15:13:47 +0000 (17:13 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 25 Sep 2013 15:13:47 +0000 (17:13 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
libfdisk/src/sun.c
tests/ts/fdisk/sunlabel

index 301feca16fd69da015b49d4aa28009f64fb28381..07485b137c919b1fc4d435c48edfac72f1ebdc31 100644 (file)
@@ -517,8 +517,12 @@ static int sun_add_partition(
                        int cs = cxt->geom.heads * cxt->geom.sectors;
                        int x = first % cs;
 
-                       if (x)
+                       if (x) {
+                               fdisk_info(cxt, _("Aligning the first sector from %u to %u "
+                                                 "to be on cylinder boundary."),
+                                               first, first + cs - x);
                                first += cs - x;
+                       }
                }
                if (n == 2 && first != 0)
                        fdisk_warnx(cxt, _("It is highly recommended that the "
index 19bfd22e4f40c3063adbc5271741301b82181767..b129a3c6f7c4664f46ce20beb209baa4eaf12c68 100755 (executable)
@@ -20,15 +20,17 @@ TS_DESC="sunlabel tests"
 . $TS_TOPDIR/functions.sh
 ts_init "$*"
 
-FDISK_CMD_INIT="s\n1\n1\n1024\n" # create new sunlabel
+FDISK_CMD_INIT="s\n" # create new sunlabel
 FDISK_CMD_WRITE_CLOSE="w\nq\n"
 FDISK_CMD_DELETEALL="d\n1\nd\n2\nd\n3\nd\n4\nd\n5\nd\n6\nd\n7\nd\n8\n" # delete all partitions
 
-FDISK_CMD_CREATE_PRIMARY="n\n1\n0\n128\n" # create first partition, cylinders 0 through 128
+FDISK_CMD_CREATE_PRIMARY="n\n\n\n128\n" # create first partition
 FDISK_CMD_TOGGLE_READONLY="a\n1\n" # sets first partition as read-only
 FDISK_CMD_TOGGLE_MOUNTABLE="c\n1\n" # sets first partition as mountable
 FDISK_CMD_CHANGE_SYSID="t\n4\n" # changes sysid to 4 (SunOS usr)
-FDISK_CMD_CREATE_SECONDARY="n\n2\n128\n\n" # create secondary partition cylinders 128 to the end of disk
+FDISK_CMD_CREATE_SECONDARY="n\n2\n128\n\n" # create secondary partition to the end of disk
+
+FDISK_OPTIONS="-C 1024 -u=cylinders"
 
 #set -x
 
@@ -38,37 +40,50 @@ ts_image_md5sum >> $TS_OUTPUT 2>&1
 
 ts_log "Create new SUN partition table"
 echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" \
-        | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+        | $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Create first partition"
 echo -e "${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Set partition sysid"
 echo -e "${FDISK_CMD_CHANGE_SYSID}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Set first partition readonly"
 echo -e "${FDISK_CMD_TOGGLE_READONLY}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Set first partition mountable"
 echo -e "${FDISK_CMD_TOGGLE_MOUNTABLE}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Create second partition"
 echo -e "${FDISK_CMD_CREATE_SECONDARY}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>&1
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+$TS_CMD_FDISK ${FDISK_OPTIONS} -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+
 ts_log "Delete all partitions"
 echo -e "${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" | \
-       $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
+       $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
 ts_image_md5sum >> $TS_OUTPUT 2>&1
 
+ts_fdisk_clean ${TEST_IMAGE_NAME}
 ts_finalize