Hello, I have learnt (while investigating possible split-brain), that I get the corresponding gfid to any file by getfattr -n trusted.gfid --absolute-names -e hex $File But now I'd like to know, how to find the Filename for any given GFID? Otherwise it's impossible to figure out where the best data is?>From /var/log/glusterfs/glustershd.log:[2013-04-26 11:27:28.909597] E [afr-self-heal-data.c:763:afr_sh_data_fxattrop_fstat_done] 0-data-ARCHIV-replicate-0: Unable to self-heal contents of '<gfid:c1839120-67fa-4b37-8f7d-d118ff522b13>' (possible split-brain). Please delete the file from all but the preferred subvolume. Especially since the corresponding Brick-File (/xxxx/vvvvvv/.glusterfs/c1/83/c1839120-67fa-4b37-8f7d-d118ff522b13) has got the sam checksum, size and date on both bricks... Thanks for any help... J?rg -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20130426/51398052/attachment.html>
On 26 April 2013 19:39, J?rg Petersen <joerg.h.petersen at googlemail.com> wrote:> Hello, > > I have learnt (while investigating possible split-brain), that I get the > corresponding gfid to any file by > getfattr -n trusted.gfid --absolute-names -e hex $File > > But now I'd like to know, how to find the Filename for any given GFID? > Otherwise it's impossible to figure out where the best data is?I don't know if it's the best way, but here's how I do it: I find the inode of the GFID (via "ls -li"), and then run a find with the -inum flag to find the file on the brick. Although a quick scan of the "find" manpage suggests you can use the -samefile flag for the same effect. It will definitely get you the right result, but it can be slow on a very large brick (mine are 36TB each, which take a while to find things sometimes). -Dan