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.
| ... | ... |
@@ -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 |
} |