[arch-releng] [PATCH 2/3] allow to change dm snapshot chunksize

Christian Hesse list at eworm.de
Fri Jan 2 10:23:44 UTC 2015


From: Christian Hesse <mail at eworm.de>

Copying big amount of data results in bad performance as data is
written in chunks of 4kiB (8 * 512 bytes).

The default is not changed but can be overwritten.

Signed-off-by: Christian Hesse <mail at eworm.de>
---
 archiso/initcpio/hooks/archiso | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
index 1bd9419..3ef4eb1 100644
--- a/archiso/initcpio/hooks/archiso
+++ b/archiso/initcpio/hooks/archiso
@@ -31,7 +31,7 @@ _mnt_fs() {
     rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")
     echo ${rw_dev} >> /run/archiso/used_block_devices
 
-    dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} 8"
+    dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
 
     _mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w"
     echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices
@@ -112,6 +112,7 @@ run_hook() {
     fi
 
     [[ -z "${cow_directory}" ]] && cow_directory="persistent_${archisolabel}/${arch}"
+    [[ -z "${cow_chunksize}" ]] && cow_chunksize="8"
 
     # set mount handler for archiso
     mount_handler="archiso_mount_handler"
-- 
2.2.1


More information about the arch-releng mailing list