<div>Hello,</div>
<div>I wish to know, why the problem of bad clientid does not come, if we safely umount the USB storage device.</div>
<div>Also if anyone can help where XFS uses these flush_kernel_vmap_range/invalidate_kernel_vmap_range.</div>
<div> </div>
<div>With what ever understanding I have developed about log recovery that buffer &quot;dbp&quot; is updated with new value in xlog_bread(), but the cache hold buffer lines of last iteration, I think if we can can dpd pages uncachable than it may solve this problem, pls comment if I am wrong.  </div>

<div>     </div>
<div>dbp = xlog_get_bp(log, BTOBB(h_size)); --------&gt; In function xlog_do_recovery_pass()    </div>
<div> </div>
<div>for (blk_no = tail_blk; blk_no &lt; head_blk; ) {</div>
<div>.</div>
<div>    error = xlog_bread(log, blk_no + hblks, bblks, dbp,<br>                               &amp;offset);<br>    if (error)<br>            goto bread_err2;</div>
<div>    xlog_unpack_data(rhead, offset, log);<br>    if ((error = xlog_recover_process_data(log,<br>                   rhash, rhead, offset, pass)))<br>        goto bread_err2;<br>   blk_no += bblks + hblks;</div>
<div>}  </div>
<div><br><br> </div>
<div class="gmail_quote">On Thu, Oct 21, 2010 at 6:57 PM, Ajeet Yadav <span dir="ltr">&lt;<a href="mailto:ajeet.yadav.77@gmail.com">ajeet.yadav.77@gmail.com</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>Thanks for response, </div>
<div> </div>
<div>Linux kernel I am using is 2.6.30, where as XFS I have ported until 2.6.34 on given kernel.</div>
<div>Do you think I need the mentioned API flush_kernel_vmap_range/invalidate_kernel_vmap_range in 2.6.30.9 as well.I will be grateful if you can provide me sample code for the above API.  </div>
<div>
<div></div>
<div class="h5">
<div><br><br> </div>
<div class="gmail_quote">On Thu, Oct 21, 2010 at 6:22 PM, Christoph Hellwig <span dir="ltr">&lt;<a href="mailto:hch@infradead.org" target="_blank">hch@infradead.org</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">
<div>On Thu, Oct 21, 2010 at 05:41:43PM +0530, Ajeet Yadav wrote:<br>&gt; Dear member,<br>&gt; If I remove USB flash storage from PC/ARM/MIPS target (i.e<br>&gt; without umount) while copying file to XFS partition and connect it to MIPS<br>
&gt; target I always get<br>&gt; XFS: xlog_recover_process_data: bad clientid<br>&gt; XFS: log mount/recovery failed: error 5<br>&gt; XFS: log mount failed<br>&gt; This problem does not occur, if I connect the same USB flash to PC/ARM<br>
&gt; target.<br>&gt; I have tested this on 2.6.30 - 2.6.34 (It everywhere when concerend with<br>&gt; MIPS)<br><br></div>Since Linux 2.6.34 Linux uses the flush_kernel_vmap_range/<br>invalidate_kernel_vmap_range APIs to make I/O to vmapped<br>
areas work on systems with virtually indexed caches.<br><br>Unfortunately only arm, parisc and sh actually implement these so far.<br>You&#39;ll need to implement an implementation of these APIs for your cache<br>architecture to make XFS work on MIPS with virtually indexed caches.<br>
</blockquote></div><br></div></div></blockquote></div><br>