Bug 1286910 - Tier: ec xattrs are set on a newly created file present in the non-ec hot tier
Tier: ec xattrs are set on a newly created file present in the non-ec hot tier
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: disperse (Show other bugs)
mainline
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Pranith Kumar K
:
Depends On:
Blocks: 1286927 1286985
  Show dependency treegraph
 
Reported: 2015-12-01 00:25 EST by Nithya Balachandran
Modified: 2016-06-16 09:47 EDT (History)
1 user (show)

See Also:
Fixed In Version: glusterfs-3.8rc2
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1286927 1286985 (view as bug list)
Environment:
Last Closed: 2016-06-16 09:47:31 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Nithya Balachandran 2015-12-01 00:25:59 EST
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):


How reproducible:
Every time

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

Actual results:
The file has EC xattrs set on it

Expected results:
No EC xattrs should be present on files in non-EC subvols

Additional info:
Comment 1 Vijay Bellur 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 (pkarampu@redhat.com)
Comment 2 Vijay Bellur 2015-12-01 12:21:21 EST
COMMIT: http://review.gluster.org/12831 committed in master by Xavier Hernandez (xhernandez@datalab.es) 
------
commit b8b050c37004c942b8c565cc66a05e8fa999c1ba
Author: Pranith Kumar K <pkarampu@redhat.com>
Date:   Tue Dec 1 10:59:41 2015 +0530

    cluster/ec: Create copy of dict for setting internal xattrs
    
    Problem:
    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.
    
    Fix:
    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.
    
    BUG: 1286910
    Change-Id: If146435dfb89656158dbed3862a3e9a0cda60581
    Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
    Reviewed-on: http://review.gluster.org/12831
    Tested-by: NetBSD Build System <jenkins@build.gluster.org>
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
    Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
Comment 3 Niels de Vos 2016-06-16 09:47:31 EDT
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

Note You need to log in before you can comment on or make changes to this bug.