Description of problem: While I was trying the geo-rep upgrade scenario from old-geo-rep to new distributed-geo-rep, I ran geo-rep slave-upgrade script. But I even after running that three times, the symlinks on slave side have different gfid than their master symlinks. Version-Release number of selected component (if applicable): glusterfs-3.4.0.20rhs-2.el6rhs.x86_64 How reproducible: Have tried twice. Out of which I hit only when there was lot of symlinks involved. Steps to Reproduce: All these below steps are after the volume upgrade. 1. cd /usr/share/glusterfs/scripts/ 2. bash generate-gfid-file.sh localhost:master /usr/share/glusterfs/scripts/get-gfid.sh /tmp/upgrade-gfid-values.txt 3. scp that /tmp/upgrade-gfid-values to one of the slave node. 4. bash slave-upgrade.sh 10.70.35.183:slave ~/upgrade-gfid-values.txt /usr/share/glusterfs/scripts/gsync-sync-gfid 5. Check the gfid of the master and the slave after this using compare-gfid.py Actual results: The symlinks have differing gfids in master and slave. After running it for the first time, the gfid was different for few directories also. Expected results: The gfid of all the files in slave should be same as master. Additional info:
[root@upgrade-2 ~]# getfattr -d -m . -e hex -n glusterfs.gfid /mnt/master/etc.1/pki/tls/cert.pem getfattr: Removing leading '/' from absolute path names # file: mnt/master/etc.1/pki/tls/cert.pem glusterfs.gfid=0x90f0f77db1544233936168959ceb88af [root@upgrade-2 ~]# getfattr -d -m . -e hex -n glusterfs.gfid /mnt/slave/etc.1/pki/tls/cert.pem getfattr: Removing leading '/' from absolute path names # file: mnt/slave/etc.1/pki/tls/cert.pem glusterfs.gfid=0x90f0f77db1544233936168959ceb88af [root@upgrade-2 ~]# getfattr -d -m . -e hex -n glusterfs.gfid -h /mnt/slave/etc.1/pki/tls/cert.pem getfattr: Removing leading '/' from absolute path names # file: mnt/slave/etc.1/pki/tls/cert.pem glusterfs.gfid=0x2b4dc2c19051469889e1b5850b695354 [root@upgrade-2 ~]# getfattr -d -m . -e hex -n glusterfs.gfid -h /mnt/master/etc.1/pki/tls/cert.pem getfattr: Removing leading '/' from absolute path names # file: mnt/master/etc.1/pki/tls/cert.pem glusterfs.gfid=0x41e7d3381f0a4b93b6a0c2ca9b4ba600 The targets of the symlinks have same gfids in master and slave but the symlinks themselves have different gfids.
Even few directories had few different gfid's after running the slave-upgrdade.sh for the first time. But after running the same script 3-4 times, they disappeared. Will try once again with latest build by upgrading from Anshi rpms to latest rpms. (not ISO upgrade)
I did try twice by upgrading from anshi u5 to 30rhs build. But I didn't see this gfid difference for directories. All of those files for which there is difference in gfid is symlinks.
https://code.engineering.redhat.com/gerrit/#/c/12502/
I ran the exact same steps in comment #1. It's working fine now. Even symlinks will have the same gfid after upgrade now. Tested in version: glusterfs-3.4.0.32rhs-1.el6rhs.x86_64
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1262.html