• M
    dm snapshot: rework writing to origin · 515ad66c
    Mikulas Patocka 提交于
    To track the completion of exceptions relating to the same location on
    the device, the current code selects one exception as primary_pe, links
    the other exceptions to it and uses reference counting to wait until all
    the reallocations are complete.
    
    It is considered too complicated to extend this code to handle the new
    snapshot-merge target, where sets of non-overlapping chunks would also
    need to become linked.
    
    Instead, a simpler (but less efficient) approach is taken.  Bios are
    linked to one exception.  When it completes, bios are simply retried,
    and if other related exceptions are still outstanding, they'll get
    queued again to wait for another one.
    Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: NMike Snitzer <snitzer@redhat.com>
    Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
    515ad66c
dm-snap.c 39.8 KB