<div dir="ltr"><div style>Salut,</div><div><br></div>Poate nu e un race ci doar o problema cu un buffer in care, dintr-un motiv sau altul, nu se nu se copiaza null-urile si ramane memorie neintializata.<div><br></div><div style>

Victor.</div></div><div class="gmail_extra"><br clear="all"><div>Victor Buciuc</div>
<br><br><div class="gmail_quote">2013/5/13 Florin-Alexandru Stancu <span dir="ltr"><<a href="mailto:niflostancu@gmail.com" target="_blank">niflostancu@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Salut,<br><br>Tot eu.<br>Probabil iar va urma un monolog tipic (și spam :D ), dar poate are cineva idee...<br><br>Ei bine, după cum am scris și în subiect, am un race condition pe undeva prin cod.<br>Câte-odată îmi ia toate testele, alteori îmi diferă fișierele cu vreo 30-40 bytes (nu la size ci la conținut, comparat manual :D ).<br>


<br>Exemplu: <br><i>test 633: check lots_of_files/file21 data.........................failed<br>  -- diff /tmp/pitix.mnt/lots_of_files/file21 /tmp/<a href="http://pitix.rw//lots_of_files/file21" target="_blank">pitix.rw//lots_of_files/file21</a></i><br>


<br>Chestia asta se întâmplă random, pe fișiere random.<br>Și am mai observat un pattern: MEREU (din 5 rulări buguite), diferă doar 36 de caractere pe la mijlocul fișierului; în fișierul din <a href="http://pitix.rw" target="_blank">pitix.rw</a> am 36 NULL-uri consecutive iar în pitix.mnt am, în locul lor, 36 de caractere binare random.<br>


Repet: mereu 36 NULL-uri consecutive, mereu sunt copiate greșit. Dimensiunile fișierelor sunt identice.<br>Și am mai încercat să îl pun cu dd (și cu cp), manual, și se copiază perfect fișierul cu cele 36 de NULL-uri.<br>

WTF? :D <br>
<br>Am protejat structurile data_blocks a inode-ului cu spin_lock-uri. Tot așa face.<br>Am pus printk-uri de ENTER functie() și EXIT funcție() la <b>truncate()</b> și la <b>get_block()</b>. <br>Nu se apelează niciodată intercalate. Dar, dacă nu e de aici, atunci nu am nicio idee ce se întâmplă...<br>


<br>
<br>_______________________________________________<br>
<a href="http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii" target="_blank">http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii</a><br></blockquote></div><br></div>