<br><br><div class="gmail_quote">2013/1/29 Tobias Boege <span dir="ltr">&lt;<a href="mailto:tobias@gambas-buch.de" target="_blank">tobias@gambas-buch.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Tue, 29 Jan 2013, Karaoui mohamed lamine wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; I was looking at how a syscall read/write was done, and i found this :<br>
&gt;<br>
&gt;    ....<br>
&gt;    loff_t pos = file_pos_read(f.file);<br>
&gt;    ret = vfs_read(f.file, buf, count, &amp;pos);<br>
&gt;    file_pos_write(f.file, pos);<br>
&gt;    fdput(f);<br>
&gt;    ...<br>
&gt;<br>
&gt; My questions are :<br>
&gt;<br>
&gt; Where did the locking go? I would have imaginated something like :<br>
&gt;<br>
&gt;    ....<br>
</div>&gt;    *lock(f);*<br>
<div class="im">&gt;    loff_t pos = file_pos_read(f.file);<br>
&gt;    ret = vfs_read(f.file, buf, count, &amp;pos);<br>
&gt;    file_pos_write(f.file, pos);<br>
&gt;    fdput(f);<br>
</div>&gt;    *unlock(f);*<br>
<div class="im">&gt;    ...<br>
&gt;<br>
&gt; If multiple threads try to read/write at the same time, they could<br>
&gt; read/write at the same offset ?<br>
&gt;<br>
<br>
</div>Look some lines above:<br>
<br>
        struct fd f = fdget(fd);<br></blockquote><div><br></div><div>This function is supposed to return the file reference, does do the locking ?</div><div>It seems that i can&#39;t find the lock instruction( with all those rcu instructions, i am little lost), can you guide me throught ?</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Regards,<br>
Tobi<br>
<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br>