wok-next diff qemu/stuff/cloop.u @ rev 18828

cloop: deduplicate support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jan 17 14:10:13 2016 +0100 (2016-01-17)
parents 9375c1de578d
children 74ce1799eee7
line diff
     1.1 --- a/qemu/stuff/cloop.u	Thu Apr 23 15:15:23 2015 +0200
     1.2 +++ b/qemu/stuff/cloop.u	Sun Jan 17 14:10:13 2016 +0100
     1.3 @@ -1,6 +1,6 @@
     1.4  --- block/cloop.c
     1.5  +++ block/cloop.c
     1.6 -@@ -29,11 +29,85 @@
     1.7 +@@ -29,11 +29,90 @@
     1.8   /* Maximum compressed block size */
     1.9   #define MAX_BLOCK_SIZE (64 * 1024 * 1024)
    1.10   
    1.11 @@ -72,7 +72,12 @@
    1.12  +		}
    1.13  +		for (i = 0, j = 128 + 4 + 4; i < n; i++) {
    1.14  +			offsets[i].offset = j;
    1.15 -+			j += offsets[i].size;
    1.16 ++			if (offsets[i].size & 0x80000000) {
    1.17 ++				unsigned long k = offset[i].size & 0x7FFFFFFF;
    1.18 ++				offsets[i].offset = offsets[k].offset;
    1.19 ++				offsets[i].size = offsets[k].size;
    1.20 ++			}
    1.21 ++			else j += offsets[i].size;
    1.22  +		}
    1.23  +	}
    1.24  +	return 0;