<p><br></p><p>Hi, all:</p><p><br></p><p>I am studying the dcache in VFS recently . I've found that hlist of dcache is already protected by RCU in</p><p>&nbsp;__d_lookup.Is it necessary &nbsp;for the function --&nbsp;d_lookup using sequence lock to protect the hlist again?</p><p><br></p><p>struct dentry * d_lookup(struct dentry * parent, struct qstr * name)</p><p>{</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>struct dentry * dentry = NULL;</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>unsigned long seq;</p><p><br></p><p>&nbsp; &nbsp; &nbsp; &nbsp; do {</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; seq = read_seqbegin(&amp;rename_lock);</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dentry = __d_lookup(parent, name);</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (dentry)</p><p><span class="Apple-tab-span" style="white-space:pre">                        </span>break;</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>} while (read_seqretry(&amp;rename_lock, seq));</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>return dentry;</p><p>}</p><p><br></p><p>Thanks in advance</p><p>--------------------------------</p><p>Rock Lee</p><div id=""><br></div>