1 ===================== 2 Device-Mapper Logging 3 ===================== 4 The device-mapper logging code is used by some of the device-mapper 5 RAID targets to track regions of the disk that are not consistent. 6 A region (or portion of the address space) of the disk may be 7 inconsistent because a RAID stripe is currently being operated on or 8 a machine died while the region was being altered. In the case of 9 mirrors, a region would be considered dirty/inconsistent while you 10 are writing to it because the writes need to be replicated for all 11 the legs of the mirror and may not reach the legs at the same time. 12 Once all writes are complete, the region is considered clean again. 13 14 There is a generic logging interface that the device-mapper RAID 15 implementations use to perform logging operations (see 16 dm_dirty_log_type in include/linux/dm-dirty-log.h). Various different 17 logging implementations are available and provide different 18 capabilities. The list includes: 19 20 ============== ============================================================== 21 Type Files 22 ============== ============================================================== 23 disk drivers/md/dm-log.c 24 core drivers/md/dm-log.c 25 userspace drivers/md/dm-log-userspace* include/linux/dm-log-userspace.h 26 ============== ============================================================== 27 28 The "disk" log type 29 ------------------- 30 This log implementation commits the log state to disk. This way, the 31 logging state survives reboots/crashes. 32 33 The "core" log type 34 ------------------- 35 This log implementation keeps the log state in memory. The log state 36 will not survive a reboot or crash, but there may be a small boost in 37 performance. This method can also be used if no storage device is 38 available for storing log state. 39 40 The "userspace" log type 41 ------------------------ 42 This log type simply provides a way to export the log API to userspace, 43 so log implementations can be done there. This is done by forwarding most 44 logging requests to userspace, where a daemon receives and processes the 45 request. 46 47 The structure used for communication between kernel and userspace are 48 located in include/linux/dm-log-userspace.h. Due to the frequency, 49 diversity, and 2-way communication nature of the exchanges between 50 kernel and userspace, 'connector' is used as the interface for 51 communication. 52 53 There are currently two userspace log implementations that leverage this 54 framework - "clustered-disk" and "clustered-core". These implementations 55 provide a cluster-coherent log for shared-storage. Device-mapper mirroring 56 can be used in a shared-storage environment when the cluster log implementations 57 are employed.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.