[Libguestfs] [PATCH] part-disk: Align whole disk partition to 64 sectors.
Richard W.M. Jones
rjones at redhat.com
Wed Oct 6 08:10:17 UTC 2010
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
-------------- next part --------------
>From 4f6bd18d2e2a9c1d317a07b59072579d8fff42ac Mon Sep 17 00:00:00 2001
From: Richard W.M. Jones <rjones at redhat.com>
Date: Wed, 6 Oct 2010 09:08:39 +0100
Subject: [PATCH] part-disk: Align whole disk partition to 64 sectors.
Change the part-disk command so it aligns the partition to
64 sectors (instead of 1 or 34 sectors as now). This should
ensure that the filesystem contained within is aligned.
---
daemon/parted.c | 24 +++++++++---------------
1 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/daemon/parted.c b/daemon/parted.c
index 2f928b0..89cc0d6 100644
--- a/daemon/parted.c
+++ b/daemon/parted.c
@@ -178,27 +178,21 @@ do_part_del (const char *device, int partnum)
int
do_part_disk (const char *device, const char *parttype)
{
- const char *startstr;
- const char *endstr;
-
parttype = check_parttype (parttype);
if (!parttype) {
reply_with_error ("unknown partition type: common choices are \"gpt\" and \"msdos\"");
return -1;
}
- /* Voooooodooooooooo (thanks Jim Meyering for working this out). */
- if (STREQ (parttype, "msdos")) {
- startstr = "1s";
- endstr = "-1s";
- } else if (STREQ (parttype, "gpt")) {
- startstr = "34s";
- endstr = "-34s";
- } else {
- /* untested */
- startstr = "1s";
- endstr = "-1s";
- }
+ /* Align all partitions created this way to 64 sectors, and leave
+ * the last 64 sectors at the end of the disk free. This wastes
+ * 32K+32K = 64K on 512-byte sector disks. The rationale is:
+ *
+ * - aligned operations are faster
+ * - GPT requires at least 34 sectors at the end of the disk.
+ */
+ const char *startstr = "64s";
+ const char *endstr = "-64s";
RUN_PARTED (return -1,
device,
--
1.7.3.1
More information about the Libguestfs
mailing list