Blob Blame History Raw
From 9314a67565dc891186845d9af0cdf4ed09d5f009 Mon Sep 17 00:00:00 2001
From: Pranith Kumar K <pkarampu@redhat.com>
Date: Thu, 11 Jun 2015 14:44:48 +0530
Subject: [PATCH 57/57] cluster/ec: Prevent Null dereference in dht-rename

        Backport of http://review.gluster.com/11178

BUG: 1230522
Change-Id: I708d4d84b1341fb7cb515808836721735dc63f14
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/50510
---
 tests/basic/ec/dht-rename.t        |   19 +++++++++++++++++++
 xlators/cluster/ec/src/ec-common.c |    2 +-
 2 files changed, 20 insertions(+), 1 deletions(-)
 create mode 100644 tests/basic/ec/dht-rename.t

diff --git a/tests/basic/ec/dht-rename.t b/tests/basic/ec/dht-rename.t
new file mode 100644
index 0000000..81b41ff
--- /dev/null
+++ b/tests/basic/ec/dht-rename.t
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+. $(dirname $0)/../../volume.rc
+
+# This test checks notify part of ec
+
+cleanup
+TEST glusterd
+TEST pidof glusterd
+TEST $CLI volume create $V0 disperse 3 redundancy 1 $H0:$B0/${V0}{0..5}
+TEST $CLI volume start $V0
+
+TEST $GFS --volfile-id=/$V0 --volfile-server=$H0 $M0;
+EXPECT_WITHIN $CHILD_UP_TIMEOUT "3" ec_child_up_count $V0 0
+
+TEST touch $M0/1
+TEST mv $M0/1 $M0/10
+cleanup
diff --git a/xlators/cluster/ec/src/ec-common.c b/xlators/cluster/ec/src/ec-common.c
index d9f3442..a158637 100644
--- a/xlators/cluster/ec/src/ec-common.c
+++ b/xlators/cluster/ec/src/ec-common.c
@@ -1143,7 +1143,7 @@ void ec_get_real_size(ec_lock_link_t *link)
     ec_fop_data_t *fop;
     dict_t *xdata;
 
-    if (link->base == NULL) {
+    if (link->base == NULL || link->base->inode == NULL) {
         return;
     }
 
-- 
1.7.1