d2787b
From a7f6ad0c617a36414c8232cb692471703923b16d Mon Sep 17 00:00:00 2001
d2787b
From: Xavi Hernandez <xhernandez@users.noreply.github.com>
d2787b
Date: Tue, 19 Jan 2021 18:03:33 +0100
d2787b
Subject: [PATCH 556/584] dht: don't ignore xdata in fgetxattr
d2787b
d2787b
DHT was passing NULL for xdata in fgetxattr() request, ignoring any
d2787b
data sent by upper xlators.
d2787b
d2787b
This patch fixes the issue by sending the received xdata to lower
d2787b
xlators, as it's currently done for getxattr().
d2787b
d2787b
Backport of:
d2787b
> Upstream-patch: https://github.com/gluster/glusterfs/pull/2020
d2787b
> Fixes: #1991
d2787b
> Change-Id: If3d3f1f2ce6215f3b1acc46480e133cb4294eaec
d2787b
> Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
d2787b
d2787b
BUG: 1919132
d2787b
Change-Id: If3d3f1f2ce6215f3b1acc46480e133cb4294eaec
d2787b
Signed-off-by: Xavi Hernandez <xhernandez@redhat.com>
d2787b
Reviewed-on: https://code.engineering.redhat.com/gerrit/c/rhs-glusterfs/+/244538
d2787b
Tested-by: RHGS Build Bot <nigelb@redhat.com>
d2787b
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
d2787b
---
d2787b
 xlators/cluster/dht/src/dht-common.c | 4 ++--
d2787b
 1 file changed, 2 insertions(+), 2 deletions(-)
d2787b
d2787b
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
d2787b
index 7425c1a..0773092 100644
d2787b
--- a/xlators/cluster/dht/src/dht-common.c
d2787b
+++ b/xlators/cluster/dht/src/dht-common.c
d2787b
@@ -5262,7 +5262,7 @@ dht_fgetxattr(call_frame_t *frame, xlator_t *this, fd_t *fd, const char *key,
d2787b
 
d2787b
         if (!ret && key && local->mds_subvol && dht_match_xattr(key)) {
d2787b
             STACK_WIND(frame, dht_mds_getxattr_cbk, local->mds_subvol,
d2787b
-                       local->mds_subvol->fops->fgetxattr, fd, key, NULL);
d2787b
+                       local->mds_subvol->fops->fgetxattr, fd, key, xdata);
d2787b
 
d2787b
             return 0;
d2787b
         }
d2787b
@@ -5274,7 +5274,7 @@ dht_fgetxattr(call_frame_t *frame, xlator_t *this, fd_t *fd, const char *key,
d2787b
     for (i = 0; i < cnt; i++) {
d2787b
         subvol = layout->list[i].xlator;
d2787b
         STACK_WIND(frame, dht_getxattr_cbk, subvol, subvol->fops->fgetxattr, fd,
d2787b
-                   key, NULL);
d2787b
+                   key, xdata);
d2787b
     }
d2787b
     return 0;
d2787b
 
d2787b
-- 
d2787b
1.8.3.1
d2787b