Migration does not work when EC is used as a tiered volume. This is because a DHT sets a virtual xatter without the trusted.* prefix, and posix tries to apply it to the file, and fails. Consequently none of the other xattrs in the list are set, including EC's configuration information which is mandatory.
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#1) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#2) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#3) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#4) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#5) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#6) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#7) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#8) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#9) for review on master by Dan Lambright (dlambrig)
REVIEW: http://review.gluster.org/11433 (cluster/tier: fixes for migration over ec as cold tier) posted (#10) for review on master by Dan Lambright (dlambrig)
COMMIT: http://review.gluster.org/11433 committed in master by Dan Lambright (dlambrig) ------ commit 67a53554ed75081612b56a5658fd569dc5aaa785 Author: Dan Lambright <dlambrig> Date: Fri Jun 26 16:33:49 2015 -0400 cluster/tier: fixes for migration over ec as cold tier An opendir is done in rebalance. The graph constructed when EC is used in tiering may have no local volumes (if all the hot volumes are on one node and all the others on another node). Previously the opendir only sent fops down the local subvolumes for migration. They must be sent down both the hot and cold subvolumes for tiering. When setxattr2() received a NULL subvolume; this dereferenced an uninitialized variable. When a lookup is done during creation of the destination file, the xattr dict is "polluted" with virtual xattrs. These cause subsequent xattrs in the new file to not be written by posix. They are required by EC. The inode gfid for "entry_loc" in gf_defrag_migrate_single_file() was not initialized. This made underlying translators think the gfid was 0, and failed migration. Change-Id: I6ccda8ca8e43485b9b354341bbfcb302496f632c BUG: 1236212 Signed-off-by: Dan Lambright <dlambrig> Reviewed-on: http://review.gluster.org/11433 Tested-by: NetBSD Build System <jenkins.org> Reviewed-by: Raghavendra G <rgowdapp> Reviewed-by: Shyamsundar Ranganathan <srangana>
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user