Bug 1162230 - quota xattrs are exposed in lookup and getxattr
Summary: quota xattrs are exposed in lookup and getxattr
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: quota
Version: 3.5.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Pranith Kumar K
QA Contact:
URL:
Whiteboard:
: 1161502 (view as bug list)
Depends On: 1161106 1163569
Blocks: glusterfs-3.5.4
TreeView+ depends on / blocked
 
Reported: 2014-11-10 15:33 UTC by Pranith Kumar K
Modified: 2015-09-11 08:52 UTC (History)
4 users (show)

Fixed In Version: glusterfs-3.5.4
Clone Of: 1161106
Environment:
Last Closed: 2015-06-03 21:08:29 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Pranith Kumar K 2014-11-10 15:33:50 UTC
+++ This bug was initially created as a clone of Bug #1161106 +++

Description of problem:
quota lookup can return keys apart from quota-limit and quota-size xattrs. getxattr is returning pgfid xattrs. This leads to afr triggering spurious self-heals.

Version-Release number of selected component (if applicable):


How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Anand Avati on 2014-11-06 06:52:37 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-08 03:39:28 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-08 03:39:31 EST ---

REVIEW: http://review.gluster.org/9077 (cluster/afr: Ignore quota size key in healing) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-08 20:26:42 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-10 00:11:04 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#4) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-10 02:33:14 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#5) for review on master by Pranith Kumar Karampuri (pkarampu)

--- Additional comment from Anand Avati on 2014-11-10 10:11:50 EST ---

REVIEW: http://review.gluster.org/9061 (features/marker: Filter internal xattrs in lookup) posted (#6) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 1 Anand Avati 2014-11-10 15:37:33 UTC
REVIEW: http://review.gluster.org/9090 (cluster/afr: Fix xattr heal comparison checks) posted (#1) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 2 Anand Avati 2014-11-10 15:37:36 UTC
REVIEW: http://review.gluster.org/9091 (features/marker: Filter internal xattrs in lookup) posted (#1) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 3 Anand Avati 2014-11-11 05:53:53 UTC
REVIEW: http://review.gluster.org/9091 (features/marker: Filter internal xattrs in lookup) posted (#2) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 4 Anand Avati 2014-11-11 05:53:56 UTC
REVIEW: http://review.gluster.org/9090 (cluster/afr: Fix xattr heal comparison checks) posted (#2) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 5 Anand Avati 2014-11-13 12:10:12 UTC
REVIEW: http://review.gluster.org/9090 (cluster/afr: Fix xattr heal comparison checks) posted (#3) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 6 Anand Avati 2014-11-13 19:53:11 UTC
COMMIT: http://review.gluster.org/9090 committed in release-3.5 by Niels de Vos (ndevos) 
------
commit 909eb5671db37ff1388613929fe22883a4677da0
Author: Pranith Kumar K <pkarampu>
Date:   Fri Nov 7 09:21:10 2014 +0530

    cluster/afr: Fix xattr heal comparison checks
    
            Backport of part of the fixes in http://review.gluster.org/8558
    
    Problem:
    While implementing list-xattr based meta-data self-heal for afr-v2 we found
    2 issues, with afr-v1's implementation.
    
    1) change in QUOTA_SIZE_KEY xattr value can trigger spurious  metadata
       self-heal.
    2) xattr comparison function that is implemented for afr-v1 checks if the
       number of xattrs in both the xattrs is same and then checks that the xattrs
       present in brick-1's response are present and equal. But what we observed me
       was that count also contains the gluster internal/virtual xattrs where as
       the compare function should only compare on-disk external xattrs that can be
       healed. So the correct implementation should check that the external xattrs
       in first brick's response are present in second brick's response and vide
       versa.
    
    Fix:
    This patch is partly backported from afr-v2's implementation. Will be providing
    the links where necessary.
    
    1) Added QUOTA_SIZE_KEY xattr to the list of xattrs that need to be ignored.
       (http://review.gluster.org/#/c/8558/10/xlators/cluster/afr/src/afr-common.c
       line: 1155)
    2) For xattrs to be equal, check all keys in xattr-dict1 are in xattr-dict2 and
       equal and vice versa.
       (http://review.gluster.org/#/c/8558/10/xlators/cluster/afr/src/afr-common.c
       line: 1195)
    
    Change-Id: I63aa74858c6f608b98d1fe425b3fa56f925bb5b3
    BUG: 1162230
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/9090
    Reviewed-by: Niels de Vos <ndevos>
    Tested-by: Gluster Build System <jenkins.com>

Comment 7 Anand Avati 2015-02-12 12:08:20 UTC
COMMIT: http://review.gluster.org/9091 committed in release-3.5 by Niels de Vos (ndevos) 
------
commit 6e4e21c689c2e4b96a564afb2f0a3972e7829a53
Author: Pranith Kumar K <pkarampu>
Date:   Thu Nov 6 10:37:06 2014 +0530

    features/marker: Filter internal xattrs in lookup
    
            Backport of http://review.gluster.com/9061
    
    Afr should ignore quota-size-key as part of self-heal
    but should heal quota-limit key.
    
    BUG: 1162230
    Change-Id: I639cfabbc44468da29914096afc7e2eca1ff1292
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/9091
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Ravishankar N <ravishankar>
    Reviewed-by: Raghavendra G <rgowdapp>
    Reviewed-by: Krutika Dhananjay <kdhananj>
    Reviewed-by: Niels de Vos <ndevos>

Comment 8 Niels de Vos 2015-06-03 21:08:29 UTC
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.5.4, please reopen this bug report.

glusterfs-3.5.4 has been announced on the Gluster Packaging mailinglist [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://thread.gmane.org/gmane.comp.file-systems.gluster.packaging/2
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user

Comment 9 Pranith Kumar K 2015-09-11 08:52:50 UTC
*** Bug 1161502 has been marked as a duplicate of this bug. ***


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