Dear all:<br><br>Recently I am keeping tracing the device-mapper codes in kernel-2.6.20.1<br><br>There are still some question that confuse me...<br>and I hope to change something in mirror driver...<br><br>---------------------------------------------------------------
<br><br>1. Is recovery here really necessary ?<br><br>Every time when a bio is written to a mirrred target, mirror driver will queue <br>this io to the write bio_list whthin the mirror_set, finally a kcopyd will be <br>invoke to write this bio to all mirrored device. Is the flow correct?
<br><br>But... there are nothing doing in the write callback function (write_callback).... right ?<br>So in the current version, we won't have any regions that is needed to be recovered.<br><br>----------------------------------------------------------------
<br><br>2. Should we put all read action into the read bio_list of the mirror_set ?<br><br>In mirror_map.... should we put all read requests into the read bio_list of the <br>mirror_set after check the return value from log->type->in_sync(), since
<br>do_read() method does the same thing and it will be invoke when a do_work <br>is invoke? Or shoulwe d move all read actions including the checking <br>(in mirror_map) to the do_read() function ?<br><br>----------------------------------------------------------------
<br><br>Thanks for all...<br>and please forgive my Chinese English..... is too poor....<br>(hopes some one understand what I am talking about in above...)<br><br>regard.<br>