summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/cluster/afr/src/afr-inode-read.c3
-rw-r--r--xlators/cluster/afr/src/afr.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/xlators/cluster/afr/src/afr-inode-read.c b/xlators/cluster/afr/src/afr-inode-read.c
index 4819d06cd..25fe69ca6 100644
--- a/xlators/cluster/afr/src/afr-inode-read.c
+++ b/xlators/cluster/afr/src/afr-inode-read.c
@@ -796,6 +796,8 @@ afr_readv_cbk (call_frame_t *frame, void *cookie,
out:
if (unwind) {
+ buf->st_ino = local->cont.readv.ino;
+
AFR_STACK_UNWIND (frame, op_ret, op_errno, vector, count, buf,
iobref);
}
@@ -855,6 +857,7 @@ afr_readv (call_frame_t *frame, xlator_t *this,
local->fd = fd_ref (fd);
+ local->cont.readv.ino = fd->inode->ino;
local->cont.readv.size = size;
local->cont.readv.offset = offset;
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index 87ef26333..d9a3435c3 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -231,6 +231,7 @@ typedef struct _afr_local {
} getxattr;
struct {
+ ino_t ino;
size_t size;
off_t offset;
int last_tried;