summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnand Avati <avati@gluster.com>2010-04-27 07:44:45 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-04-27 06:31:51 -0700
commit2c5a280f9a7ad7eb971db4d55e6ce806c5cdd6bc (patch)
treecc2a47e4a7d929b3ca67bd544bfb9a6e355ba650
parent55d332f5eca51ee4820ecd62af1cdb2a24ad100e (diff)
cluster/dht: perform inode number overwrite in readv_cbk iatt with checks
Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 862 (Crash in dht_readv_cbk with error-gen) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=862
-rw-r--r--xlators/cluster/dht/src/dht-common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 050a031232c..043ef5bdd70 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -1750,7 +1750,9 @@ dht_readv_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
op_errno = EINVAL;
goto out;
}
- stbuf->ia_ino = local->ia_ino;
+
+ if (op_ret != -1)
+ stbuf->ia_ino = local->ia_ino;
out:
DHT_STACK_UNWIND (readv, frame, op_ret, op_errno, vector, count, stbuf,
iobref);