Blob Blame History Raw
From 8861e84d3fb7518cae2c1f2fa733ba85a2ab560d Mon Sep 17 00:00:00 2001
From: Raghavendra Talur <rtalur@redhat.com>
Date: Thu, 25 Jun 2015 02:18:42 +0530
Subject: [PATCH 177/190] storage/posix: Check xdata for NULL before dict_get

         Backport of http://review.gluster.org/#/c/11417/
         Backport of http://review.gluster.org/#/c/11390

Performing a dict_get on xdata can lead to
frequent logging if xdata is NULL.

Change-Id: I1666f0cc958c639ccd816e3738dd4a1efebbff82
BUG: 1235940
Signed-off-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/51689
Reviewed-by: Nithya Balachandran <nbalacha@redhat.com>
Reviewed-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
Tested-by: Raghavendra Gowdappa <rgowdapp@redhat.com>
---
 xlators/storage/posix/src/posix.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c
index a2e484e..91e95ef 100644
--- a/xlators/storage/posix/src/posix.c
+++ b/xlators/storage/posix/src/posix.c
@@ -3295,7 +3295,7 @@ posix_setxattr (call_frame_t *frame, xlator_t *this,
  * This is used by DHT to redirect FOPs if the file is being migrated
  * Ignore errors for now
  */
-        if (dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
+        if (xdata && dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
                 ret = posix_pstat(this, loc->gfid, real_path, &stbuf);
                 if (ret)
                         goto out;
@@ -4399,7 +4399,7 @@ posix_fsetxattr (call_frame_t *frame, xlator_t *this,
                 }
         }
 
-        if (dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
+        if (xdata && dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
                 ret = posix_fdstat (this, pfd->fd, &stbuf);
                 if (ret == -1) {
                         gf_log (this->name, GF_LOG_ERROR,
@@ -4540,7 +4540,7 @@ posix_removexattr (call_frame_t *frame, xlator_t *this,
                 goto out;
         }
 
-        if (dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
+        if (xdata && dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
                 ret = posix_pstat(this, loc->gfid, real_path, &stbuf);
                 if (ret)
                         goto out;
@@ -4612,7 +4612,7 @@ posix_fremovexattr (call_frame_t *frame, xlator_t *this,
                 goto out;
         }
 
-        if (dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
+        if (xdata && dict_get (xdata, DHT_IATT_IN_XDATA_KEY)) {
                 ret = posix_fdstat (this, pfd->fd, &stbuf);
                 if (ret)
                         goto out;
-- 
1.7.1