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