[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[libvirt] [PATCH 4/5] free extent fix
- From: Henrik Persson <henrik e persson ericsson com>
- To: libvirt-list redhat com
- Cc:
- Subject: [libvirt] [PATCH 4/5] free extent fix
- Date: Wed, 24 Jun 2009 11:19:37 +0200
Parted reports that the first block of the disk is free, even if it is occupied by the
partition table.
--- libvirt-0.6.4.patches/src/storage_backend_disk.c 2009-06-23 18:17:19.039168000 +0200
+++ libvirt-0.6.4/src/storage_backend_disk.c 2009-06-23 18:17:10.324936000 +0200
@@ -36,6 +36,8 @@
#define PARTHELPER BINDIR "/libvirt_parthelper"
+#define SECTOR_SIZE 512
+
/* Map partition types to internal enum */
static int
virStorageBackendDiskMapPartitionType(const char* partType)
@@ -214,6 +216,11 @@ virStorageBackendDiskMakeFreeExtent(virC
&dev->freeExtents[dev->nfreeExtent].end) < 0)
return -1; /* Don't bother to re-alloc freeExtents - it'll be free'd shortly */
+ /* first block reported as free, even if it is not */
+ if (dev->freeExtents[dev->nfreeExtent].start == 0) {
+ dev->freeExtents[dev->nfreeExtent].start = SECTOR_SIZE;
+ }
+
pool->def->available +=
(dev->freeExtents[dev->nfreeExtent].end -
dev->freeExtents[dev->nfreeExtent].start);
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]