Red Hat Bugzilla – Bug 1286985
Tier: ec xattrs are set on a newly created file present in the non-ec hot tier
Last modified: 2016-04-19 03:49:29 EDT
+++ This bug was initially created as a clone of Bug #1286910 +++
Description of problem:
A newly created file on a tiered volume with distributed-disperse cold tier and dist-rep hot tier has EC xattrs set on it even though it exists on a hot tier.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create a distributed-disperse (2x(4+2)) volume and attach a dist-rep hot tier to it
2. Start the volume and FUSE mount it.
3. Create a file on the mount point. Internally, tier first creates a linkto file on the cold tier and then creates the actual data file on the hot tier.
4. Check the xattrs set on the file on the hot tier bricks
The file has EC xattrs set on it
No EC xattrs should be present on files in non-EC subvols
--- Additional comment from Vijay Bellur on 2015-12-01 01:12:10 EST ---
REVIEW: http://review.gluster.org/12831 (cluster/ec: Create copy of dict for setting internal xattrs) posted (#1) for review on master by Pranith Kumar Karampuri (email@example.com)
REVIEW: http://review.gluster.org/12835 (cluster/ec: Create copy of dict for setting internal xattrs) posted (#1) for review on release-3.7 by Pranith Kumar Karampuri (firstname.lastname@example.org)
REVIEW: http://review.gluster.org/12835 (cluster/ec: Create copy of dict for setting internal xattrs) posted (#2) for review on release-3.7 by Pranith Kumar Karampuri (email@example.com)
COMMIT: http://review.gluster.org/12835 committed in release-3.7 by Xavier Hernandez (firstname.lastname@example.org)
Author: Pranith Kumar K <email@example.com>
Date: Tue Dec 1 10:59:41 2015 +0530
cluster/ec: Create copy of dict for setting internal xattrs
Backport of http://review.gluster.com/12831
Ec takes a ref of the request xdata and sets trusted.ec.version/algo etc xattrs
as part of it. But this request xdata could be using same dictionary to do the
operation on multiple subvolumes, due to which other subvolumes will have
internal xattrs of ec in it and will be created on subvols where they are not
supposed to appear.
Take a copy of the request xdata/dict to prevent this from happening.
Most of the debugging work and test script is contributed by Nitya.
Signed-off-by: Pranith Kumar K <firstname.lastname@example.org>
Tested-by: NetBSD Build System <email@example.com>
Tested-by: Gluster Build System <firstname.lastname@example.org>
Reviewed-by: Xavier Hernandez <email@example.com>
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.7.7, please open a new bug report.
glusterfs-3.7.7 has been announced on the Gluster mailinglists , packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist  and the update infrastructure for your distribution.