Browse code

devmapper: Use a smaller blocksize for the thin-pool

As per the thin provisioning docs for creating the pool:

$data_block_size gives the smallest unit of disk space that can be
allocated at a time expressed in units of 512-byte sectors.
$data_block_size must be between 128 (64KB) and 2097152 (1GB) and a
multiple of 128 (64KB). $data_block_size cannot be changed after the
thin-pool is created. People primarily interested in thin provisioning
may want to use a value such as 1024 (512KB). People doing lots of
snapshotting may want a smaller value such as 128 (64KB).

The switch from 512 (which we used before) to 128 (recommended above
for lots of snapshoting) means a simple container creation (based on the
mattdm/fedora:f19 image) adds 1 MB of diskspace rather than 3.6.
This seems more in tune with how docker is typically used.

Alexander Larsson authored on 2013/10/17 22:33:00
Showing 1 changed files
... ...
@@ -451,7 +451,7 @@ func createPool(poolName string, dataFile *os.File, metadataFile *os.File) error
451 451
 		return fmt.Errorf("Can't get data size")
452 452
 	}
453 453
 
454
-	params := metadataFile.Name() + " " + dataFile.Name() + " 512 8192"
454
+	params := metadataFile.Name() + " " + dataFile.Name() + " 128 32768"
455 455
 	if err := task.AddTarget(0, size/512, "thin-pool", params); err != nil {
456 456
 		return fmt.Errorf("Can't add target")
457 457
 	}