diff options
| author | Amar Tumballi <amar@gluster.com> | 2012-02-06 17:49:14 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2012-02-14 01:09:02 -0800 | 
| commit | 0e6df0100e13123fe38f28c5a090777e894d8f52 (patch) | |
| tree | 517c60cc953302172cb51f22f4b7aa52e557c1e9 /xlators/cluster/afr/src/afr-inode-read.c | |
| parent | e17ac220e4bff53fb89f5bea636acb61e347cf50 (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 'xlators/cluster/afr/src/afr-inode-read.c')
| -rw-r--r-- | xlators/cluster/afr/src/afr-inode-read.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/xlators/cluster/afr/src/afr-inode-read.c b/xlators/cluster/afr/src/afr-inode-read.c index 5b534cf37..0ef0f4f86 100644 --- a/xlators/cluster/afr/src/afr-inode-read.c +++ b/xlators/cluster/afr/src/afr-inode-read.c @@ -1083,7 +1083,8 @@ afr_readv_cbk (call_frame_t *frame, void *cookie,                                     children[next_call_child],                                     children[next_call_child]->fops->readv,                                     local->fd, local->cont.readv.size, -                                   local->cont.readv.offset); +                                   local->cont.readv.offset, +                                   local->cont.readv.flags);          }  out: @@ -1098,7 +1099,7 @@ out:  int32_t  afr_readv (call_frame_t *frame, xlator_t *this, -           fd_t *fd, size_t size, off_t offset) +           fd_t *fd, size_t size, off_t offset, uint32_t flags)  {          afr_private_t * priv       = NULL;          afr_local_t   * local      = NULL; @@ -1143,6 +1144,7 @@ afr_readv (call_frame_t *frame, xlator_t *this,          local->cont.readv.size       = size;          local->cont.readv.offset     = offset; +        local->cont.readv.flags      = flags;          ret = afr_open_fd_fix (frame, this, _gf_false);          if (ret) { @@ -1153,7 +1155,7 @@ afr_readv (call_frame_t *frame, xlator_t *this,                             (void *) (long) call_child,                             children[call_child],                             children[call_child]->fops->readv, -                           fd, size, offset); +                           fd, size, offset, flags);          ret = 0;  out:  | 
