> LVM-blocksizes are relatively large, 4 MB pr default, and for large
> volumes it's common to use even bigger blocks (say 128 MB). For a 2TB
> volume and 128 MB blocks the datastructure should take 32KB memory.
4MB is the size of a physical extent, not a block. Snapshots use 'chunks' not whole extents, and I don't know what (if
any)
relationship there is between chunks and blocks.
#define LVM_SNAPSHOT_MAX_CHUNK 1024 /* 1024 KB */
#define LVM_SNAPSHOT_DEF_CHUNK 64 /* 64 KB */
#define LVM_SNAPSHOT_MIN_CHUNK (PAGE_SIZE/1024) /* 4 or 8 KB */
Anyway, you definitely *don't* force LVM to copy 4MB of data the first time you touch just 1 bit on a snapshotted
volume!