[Top][All Lists]

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

Re: [Gluster-devel] inodes

From: Emmanuel Dreyfus
Subject: Re: [Gluster-devel] inodes
Date: Wed, 26 Oct 2011 08:03:49 +0200
User-agent: MacSOUP/2.7 (unregistered for 1740 days)

Emmanuel Dreyfus <address@hidden> 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
        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

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]