Hi Anderson,<br><br><div class="gmail_quote">On Jan 7, 2008 12:41 AM, Anderson Briglia &lt;<a href="mailto:anderson@briglia.net">anderson@briglia.net</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I backported the actual code from [1] to 2.6.21 kernel version, used on Nokia N810 device. This is an embedded Linux device using an ARM-OMAP processor. Well, after some compilation problems due to bio interface changes, I got ccache modules compiled.
</blockquote><div><br>Now ccache compiles with kernels &gt;= 2.6.21 too (I didn&#39;t try with even older kernels). Also, sys_swapon() does not hang now (this never happened with 2.6.24-rcX).<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br>The problem now is happening when I try to &quot;swapon&quot; /dev/ccache. sys_swapon() never finishes and seems that we have a deadlock there. I&#39;m investigating what&#39;s going on with sys_swapon() but I really appreciate if you point something that could cause this.
</blockquote><div><br>Looks like you were doing same mistake as I was doing initially. bio_io_error() should be called as bio_io_error(bio, bio-&gt;bi_size) and not as bio_io_error(bio, 0). This was causing read() on /dev/ccache to hang.
<br>&nbsp;<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Good work Nitin, I intend to contribute to your project. :)<br></blockquote>
<div><br>Thanks :) <br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>[1] <a href="http://code.google.com/p/ccache/source" target="_blank">
http://code.google.com/p/ccache/source</a></blockquote><div><br><br>Cheers,<br>Nitin<br>&nbsp;<br></div></div><br>