[Gluster-users] gluster 3.7 healing errors (no data available, buf->ia_gfid is null)

Ravishankar N ravishankar at redhat.com
Thu Sep 22 07:21:19 UTC 2016


On 09/22/2016 12:38 PM, Pasi Kärkkäinen wrote:
> On Thu, Sep 22, 2016 at 09:58:25AM +0530, Ravishankar N wrote:
>> On 09/21/2016 10:54 PM, Pasi Kärkkäinen wrote:
>>> Let's see.
>>>
>>> # getfattr -m . -d -e hex /bricks/vol1/brick1/foo
>>> getfattr: Removing leading '/' from absolute path names
>>> # file: bricks/vol1/brick1/foo
>>> security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a756e6c6162656c65645f743a733000
>>>
>>> So hmm.. no trusted.gfid it seems.. is that perhaps because this node was down when the file was created?
>> No, even if that were the case, the gfid should have been set while
>> healing the file to this node.
>> Can you try doing a setfattr -n trusted.gfid -v
>> 0xc1ca778ed2af4828b981171c0c5bd45e on the file. and launch heal
>> again?
>> What about the .glusterfs hardlink- does that exist?
>>
> It seems there's no hardlink.. nothing in /bricks/vol1/brick1/.glusterfs/c1/ca/ directory.
>
> Now I manually set the trusted.gfid value on the file, and launched heal again,
> and now gluster was able to heal it OK! Healing is now fully complete, and no out-of-sync files anymore.
>
> Any idea what caused the missing trusted.gfid ?
A create FOP is a multi step process on the bricks.
1.creating the file on the actual path
2. Setting the gluster xattrs including gfid xattr
3. Creating the link file inside .glusterfs

I'm guessing your brick went down after step 1 for the files in 
question.  Check the brick logs to check for such messages. If the brick 
was still up, check if there are logs for failures related to performing 
2 and 3.

By the way, if everything healed successfully, check that the .glusterfs 
hardlink  is now present.

-Ravi

>
>
>
> Thanks a lot!
>
> -- Pasi
>



More information about the Gluster-users mailing list