Re: qa39 crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Can you confirm if this fixes (obvious bug) -


diff --git a/xlators/performance/md-cache/src/md-cache.c b/xlators/performance/md-cache/src/md-cache.c
index 9ef599a..66c0bf3 100644
--- a/xlators/performance/md-cache/src/md-cache.c
+++ b/xlators/performance/md-cache/src/md-cache.c
@@ -1423,7 +1423,7 @@ mdc_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd,
 
         local->fd = fd_ref (fd);
 
-        STACK_WIND (frame, mdc_setattr_cbk,
+        STACK_WIND (frame, mdc_fsetattr_cbk,
                     FIRST_CHILD(this), FIRST_CHILD(this)->fops->fsetattr,
                     fd, stbuf, valid, xdata);


On Mon, Apr 30, 2012 at 10:31 PM, Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:
Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:

> I added printf, and inode is NULL in mdc_inode_pre() therefore this is
> not an uninitializd lock problem.

Indeed, this this the mdc_local_t  structure that seems uninitialized:

(gdb) frame 3
#3  0xbaa0ecb5 in mdc_setattr_cbk (frame=0xbb7e32a0, cookie=0xbb7a4380,
   this=0xba3e3000, op_ret=0, op_errno=0, prebuf=0xb940a57c,
   postbuf=0xb940a5e4, xdata=0x0) at md-cache.c:1365
1365            mdc_inode_iatt_set (this, local->loc.inode, postbuf);

(gdb) print *(mdc_local_t *)frame->local
$6 = {loc = {path = 0x0, name = 0x0, inode = 0x0, parent = 0x0,
   gfid = '\000' <repeats 15 times>, pargfid = '\000'
  <repeats 15 times>}, loc2 = {path = 0x0, name = 0x0, inode = 0x0,
  parent = 0x0, gfid = '\000' <repeats 15 times>,
  pargfid = '\000' <repeats 15 times>},  fd = 0xb8f9d230,
  linkname = 0x0, xattr = 0x0}

And indeed local->loc it is not initialized in mdc_fsetattr(). I suspect
there is away of obteining it from fd, but this is getting beyond by
knowledge of glusterfs internals.


--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@xxxxxxxxxx

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxx
https://lists.nongnu.org/mailman/listinfo/gluster-devel


[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux