[linux-lvm] exposing snapshot block device
Zdenek Kabelac
zkabelac at redhat.com
Tue Nov 5 16:24:01 UTC 2019
Dne 04. 11. 19 v 18:28 Tomas Dalebjörk napsal(a):
> thanks, I understand that meta data blocks needs to be update, that I can understand.
> how about the other questions?
> like : data write will happen towards which device? cow device or after the copying has been completed to the origin disk?
Hi
I'd assume - if the block is still mapped in COW and the block is not yet
merged into origin - the 'write' needs to lend COW - as there is no 'extra'
information about which 'portion' of the chunk has been already 'merged'.
If you happen to 'write' your I/O to currently merged 'chunk' - you will
wait till check gets merged and metadata are updated and then your I/O land in
origin.
But I don't think there are any optimization made - as it doesn't really
matter too much in terms of the actual merging speed - if couple I/O are
repeated - who cares - on the overall time of whole merging process it will
have negligible impact - and as said - the preference was made towards
simplicity and correctness.
For the most details - just feel free to take a look at:
linux/drviers/md/dm-snap.c
i.e. function snapshot_merge_next_chunks()
The snapshot was designed to be small and map a very low percentage of origin
device - it's never been assumed to be used with 200GiB and similar snapshot
COW size....
Regads
Zdenek
More information about the linux-lvm
mailing list