Can you confirm if this fixes (obvious bug) -<div><br></div><div><br><div>diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c</div><div>index 9ef599a..66c0bf3 100644</div>
<div>--- a/xlators/performance/md-cache/src/md-cache.c</div><div>+++ b/xlators/performance/md-cache/src/md-cache.c</div><div>@@ -1423,7 +1423,7 @@ mdc_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd,</div><div> </div>
<div> local->fd = fd_ref (fd);</div><div> </div><div>- STACK_WIND (frame, mdc_setattr_cbk,</div><div>+ STACK_WIND (frame, mdc_fsetattr_cbk,</div><div> FIRST_CHILD(this), FIRST_CHILD(this)->fops->fsetattr,</div>
<div> fd, stbuf, valid, xdata);</div><div><br></div><div><br></div><div class="gmail_quote">On Mon, Apr 30, 2012 at 10:31 PM, Emmanuel Dreyfus <span dir="ltr"><<a href="mailto:manu@netbsd.org" target="_blank">manu@netbsd.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Emmanuel Dreyfus <<a href="mailto:manu@netbsd.org">manu@netbsd.org</a>> wrote:<br>
<br>
> I added printf, and inode is NULL in mdc_inode_pre() therefore this is<br>
> not an uninitializd lock problem.<br>
<br>
</div>Indeed, this this the mdc_local_t structure that seems uninitialized:<br>
<br>
(gdb) frame 3<br>
#3 0xbaa0ecb5 in mdc_setattr_cbk (frame=0xbb7e32a0, cookie=0xbb7a4380,<br>
this=0xba3e3000, op_ret=0, op_errno=0, prebuf=0xb940a57c,<br>
postbuf=0xb940a5e4, xdata=0x0) at md-cache.c:1365<br>
1365 mdc_inode_iatt_set (this, local->loc.inode, postbuf);<br>
<br>
(gdb) print *(mdc_local_t *)frame->local<br>
$6 = {loc = {path = 0x0, name = 0x0, inode = 0x0, parent = 0x0,<br>
gfid = '\000' <repeats 15 times>, pargfid = '\000'<br>
<repeats 15 times>}, loc2 = {path = 0x0, name = 0x0, inode = 0x0,<br>
parent = 0x0, gfid = '\000' <repeats 15 times>,<br>
pargfid = '\000' <repeats 15 times>}, fd = 0xb8f9d230,<br>
linkname = 0x0, xattr = 0x0}<br>
<br>
And indeed local->loc it is not initialized in mdc_fsetattr(). I suspect<br>
there is away of obteining it from fd, but this is getting beyond by<br>
knowledge of glusterfs internals.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
Emmanuel Dreyfus<br>
<a href="http://hcpnet.free.fr/pubz" target="_blank">http://hcpnet.free.fr/pubz</a><br>
<a href="mailto:manu@netbsd.org">manu@netbsd.org</a><br>
<br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@nongnu.org">Gluster-devel@nongnu.org</a><br>
<a href="https://lists.nongnu.org/mailman/listinfo/gluster-devel" target="_blank">https://lists.nongnu.org/mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br></div>