For 3.2.x release branch the applied patch is not enough. Grep for similar patch in master branch (grep for ia_ino in git log's output). That would show you that the culprit here is itransform in cluster translators. There are patches in queue to get in for fixing this issue in release 3.2 branch at review.gluster.com Regards, Amar On 26-Oct-2011, at 11:33 AM, manu@xxxxxxxxxx (Emmanuel Dreyfus) wrote: > Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote: > >> I applied the patch on 3.2.3, updated and restarted my servers, but the >> inode is still not related to the gfid, and I still see mismatches >> between lookup and readdir. > > Right, I make progresses. Logs in posix_fill_ino_from_gfid() shows that > the patch you sent me is either incomplete, or incorrect. > > With this formula inode gets clobbered at mine when the fifth byte is > added. > for (i = 15; i > (15 - 8); i--) { > temp_ino += buf->ia_gfid[i] << j; > j += 8; > } > > A simple cast fixes the problem: > for (i = 15; i > (15 - 8); i--) { > temp_ino += (uint64_t)(buf->ia_gfid[i]) << j; > j += 8; > } > > The inode number seen on the client is still wrong, which suggests there > could be the same king of problem higher in the stack. I will > investigate further, but let me know if the problem already has a known > fix. > > I assume it works at yours, therefore comparing gcc versions can be > interesting. Here is mine: > > # gcc -v > Using built-in specs. > Target: i386--netbsdelf > Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc4/configure > --enable-long-long --disable-multilib --enable-threads --disable-symvers > --build=x86_64-unknown-netbsd4.99.72 --host=i386--netbsdelf > --target=i386--netbsdelf --enable-__cxa_atexit > Thread model: posix > gcc version 4.1.3 20080704 prerelease (NetBSD nb2 20081120) > > > -- > Emmanuel Dreyfus > http://hcpnet.free.fr/pubz > manu@xxxxxxxxxx > > _______________________________________________ > Gluster-devel mailing list > Gluster-devel@xxxxxxxxxx > https://lists.nongnu.org/mailman/listinfo/gluster-devel