• Mikulas Patocka's avatar
    dm snapshot: avoid allocating exceptions in merge · 3452c2a1
    Mikulas Patocka authored
    The snapshot-merge target should not allocate new exceptions because the
    intent is to merge all of its exceptions as quickly and safely as
    possible.
    
    This patch introduces the snapshot-merge mapping function and updates
    __origin_write() so that it doesn't allocate exceptions on any snapshots
    that are being merged.
    
    If a write request to a merging snapshot device is to be dispatched
    directly to the origin (because the chunk is not remapped or was already
    merged), snapshot_merge_map() must make exceptions in other snapshots so
    calls do_origin().
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    3452c2a1
dm-snap.c 41.1 KB