X-Git-Url: https://gitweb.dragonflybsd.org/ikiwiki.git/blobdiff_plain/f8079d345e99a8ac457adc63aae6a36f1fe29b21..HEAD:/docs/developer/dmmirror/index.mdwn diff --git a/docs/developer/dmmirror/index.mdwn b/docs/developer/dmmirror/index.mdwn index 6df29604..a3241645 100644 --- a/docs/developer/dmmirror/index.mdwn +++ b/docs/developer/dmmirror/index.mdwn @@ -60,7 +60,13 @@ volume was out of sync (for faster recovery). - write the actual data - remove the dirty bit from the bitmap +[1] does it kill performance? +#RAID1 target design documentation +##Rationale +First I am going to implement a "raid1" target, which doesnt require a log target as the Linux mirror target. I can make a compatible mirror target in the future using this code/target. -[1] does it kill performance? +##Implementation details +###Data structures +Every mirror leg (from now on: leg) has a structure which contains any information the target may need during operation. Some of these information should be saved to the disk. The structures are contained in a linked list (TAILQ) to allow flexible removal/addition. The O(n) access time shouldn't be a problem as we don't expect a very large number of legs.