Hide Forgot
================================================================================ Version : glusterfs 3.0.0 built on Jan 3 2010 08:03:52 git: 2.0.1-886-g8379edd Starting Time: 2010-01-04 00:02:19 Command line : glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs PID : 15026 System name : Linux Nodename : localhost.localdomain Kernel Release : 2.6.18-164.el5 Hardware Identifier: x86_64 Given volfile: +------------------------------------------------------------------------------+ 1: ### Add client feature and attach to remote subvolume of server1 2: volume brick1 3: type protocol/client 4: option transport-type tcp/client 5: option remote-host 16.0.0.31 # IP address of the remote brick 6: option remote-subvolume brick # name of the remote volume 7: end-volume 8: 9: ### Add client feature and attach to remote subvolume of server2 10: volume brick2 11: type protocol/client 12: option transport-type tcp/client 13: option remote-host 16.0.0.32 # IP address of the remote brick 14: option remote-subvolume brick # name of the remote volume 15: end-volume 16: 17: ### Add client feature and attach to remote subvolume of server3 18: volume brick3 19: type protocol/client 20: option transport-type tcp/client 21: option remote-host 16.0.0.33 # IP address of the remote brick 22: option remote-subvolume brick # name of the remote volume 23: end-volume 24: 25: ### Add client feature and attach to remote subvolume of server4 26: volume brick4 27: type protocol/client 28: option transport-type tcp/client 29: option remote-host 16.0.0.34 # IP address of the remote brick 30: option remote-subvolume brick # name of the remote volume 31: end-volume 32: 33: ### Add client feature and attach to remote subvolume of server1 34: volume brick1-ns 35: type protocol/client 36: option transport-type tcp/client 37: option remote-host 16.0.0.31 # IP address of the remote brick 38: option remote-subvolume brick-ns # name of the remote volume 39: end-volume 40: 41: ### Add client feature and attach to remote subvolume of server2 42: volume brick2-ns 43: type protocol/client 44: option transport-type tcp/client 45: option remote-host 16.0.0.32 # IP address of the remote brick 46: option remote-subvolume brick-ns # name of the remote volume 47: end-volume 48: 49: volume afr1 50: type cluster/afr 51: subvolumes brick1 brick4 52: end-volume 53: 54: volume afr2 55: type cluster/afr 56: subvolumes brick2 brick3 57: end-volume 58: 59: volume afr-ns 60: type cluster/afr 61: subvolumes brick1-ns brick2-ns 62: end-volume 63: 64: volume unify 65: type legacy/cluster/unify 66: option scheduler rr # round robin 67: option namespace afr-ns 68: subvolumes afr1 afr2 69: end-volume +------------------------------------------------------------------------------+ [2010-01-04 00:02:19] C [unify.c:4361:init] unify: Namespace node should not be a child of any other node. Exiting [2010-01-04 00:02:19] E [xlator.c:838:xlator_init_rec] unify: Initialization of volume 'unify' failed, review your volfile again [2010-01-04 00:02:19] E [unify.c:4467:init] unify: initializing namespace node failed, Exiting [2010-01-04 00:02:19] E [xlator.c:838:xlator_init_rec] unify: Initialization of volume 'unify' failed, review your volfile again [2010-01-04 00:02:19] E [glusterfsd.c:583:_xlator_graph_init] glusterfs: initializing translator failed [2010-01-04 00:02:19] E [glusterfsd.c:1347:main] glusterfs: translator initialization failed. exiting The reason for this failure is xl_tree_init is called on namespace child after setting unify as the parent of namespace. Since xl->ready of unify is set to true only after return from current execution of init, calling xl_tree_init on namespace will result in re-execution of init of unify node, which fails since namespace node has a parent (which we set during the first execution of unify's init).
PATCH: http://patches.gluster.com/patch/2647 in master (cluster/unify: don't call xl_init_tree on namespace node.)