• Jonthan Brassow's avatar
    dm raid1: add userspace log · f5db4af4
    Jonthan Brassow authored
    This patch contains a device-mapper mirror log module that forwards
    requests to userspace for processing.
    
    The structures used for communication between kernel and userspace are
    located in include/linux/dm-log-userspace.h.  Due to the frequency,
    diversity, and 2-way communication nature of the exchanges between
    kernel and userspace, 'connector' was chosen as the interface for
    communication.
    
    The first log implementations written in userspace - "clustered-disk"
    and "clustered-core" - support clustered shared storage.   A userspace
    daemon (in the LVM2 source code repository) uses openAIS/corosync to
    process requests in an ordered fashion with the rest of the nodes in the
    cluster so as to prevent log state corruption.  Other implementations
    with no association to LVM or openAIS/corosync, are certainly possible.
    
    (Imagine if two machines are writing to the same region of a mirror.
    They would both mark the region dirty, but you need a cluster-aware
    entity that can handle properly marking the region clean when they are
    done.  Otherwise, you might clear the region when the first machine is
    done, not the second.)
    Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
    Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    f5db4af4
dm-log-userspace-transfer.c 6.77 KB