summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/call-stub.c
diff options
context:
space:
mode:
authorAmar Tumballi <amar@gluster.com>2012-02-06 17:49:14 +0530
committerAnand Avati <avati@redhat.com>2012-02-14 01:09:02 -0800
commit0e6df0100e13123fe38f28c5a090777e894d8f52 (patch)
tree517c60cc953302172cb51f22f4b7aa52e557c1e9 /libglusterfs/src/call-stub.c
parente17ac220e4bff53fb89f5bea636acb61e347cf50 (diff)
core: add an extra flag to readv()/writev() API
needed to implement a proper handling of open flag alterations using fcntl() on fd. Change-Id: Ic280d5db6f1dc0418d5c439abb8db1d3ac21ced0 Signed-off-by: Amar Tumballi <amar@gluster.com> BUG: 782265 Reviewed-on: http://review.gluster.com/2723 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'libglusterfs/src/call-stub.c')
-rw-r--r--libglusterfs/src/call-stub.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c
index 24ca3825b0d..cdae9df251e 100644
--- a/libglusterfs/src/call-stub.c
+++ b/libglusterfs/src/call-stub.c
@@ -888,7 +888,7 @@ fop_readv_stub (call_frame_t *frame,
fop_readv_t fn,
fd_t *fd,
size_t size,
- off_t off)
+ off_t off, uint32_t flags)
{
call_stub_t *stub = NULL;
@@ -900,8 +900,10 @@ fop_readv_stub (call_frame_t *frame,
stub->args.readv.fn = fn;
if (fd)
stub->args.readv.fd = fd_ref (fd);
- stub->args.readv.size = size;
- stub->args.readv.off = off;
+ stub->args.readv.size = size;
+ stub->args.readv.off = off;
+ stub->args.readv.flags = flags;
+
out:
return stub;
}
@@ -945,7 +947,7 @@ fop_writev_stub (call_frame_t *frame,
fd_t *fd,
struct iovec *vector,
int32_t count,
- off_t off,
+ off_t off, uint32_t flags,
struct iobref *iobref)
{
call_stub_t *stub = NULL;
@@ -960,9 +962,11 @@ fop_writev_stub (call_frame_t *frame,
if (fd)
stub->args.writev.fd = fd_ref (fd);
stub->args.writev.vector = iov_dup (vector, count);
- stub->args.writev.count = count;
- stub->args.writev.off = off;
+ stub->args.writev.count = count;
+ stub->args.writev.off = off;
+ stub->args.writev.flags = flags;
stub->args.writev.iobref = iobref_ref (iobref);
+
out:
return stub;
}
@@ -2258,7 +2262,8 @@ call_resume_wind (call_stub_t *stub)
stub->frame->this,
stub->args.readv.fd,
stub->args.readv.size,
- stub->args.readv.off);
+ stub->args.readv.off,
+ stub->args.readv.flags);
break;
}
@@ -2270,6 +2275,7 @@ call_resume_wind (call_stub_t *stub)
stub->args.writev.vector,
stub->args.writev.count,
stub->args.writev.off,
+ stub->args.writev.flags,
stub->args.writev.iobref);
break;
}