diff options
| author | Amar Tumballi <amar@gluster.com> | 2012-01-18 18:06:44 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2012-01-25 02:03:44 -0800 | 
| commit | cf8486cbef329ef66868f658fa35f470f97db462 (patch) | |
| tree | 18cf37bd7cf65ac820d435fb1ee43dc205a2917b /xlators/features/quiesce/src | |
| parent | b02afc6d008f9959db28244eb2b9dd3b9ef92393 (diff) | |
core: get xattrs also as part of readdirp
readdirp_req() call sends a dict_t * as an argument, which
contains all the xattr keys for which the entries got in
readdirp_rsp() are having xattr value filled dictionary.
Change-Id: I8b7e1290740ea3e884e67d19156ce849227167c0
Signed-off-by: Amar Tumballi <amar@gluster.com>
BUG: 765785
Reviewed-on: http://review.gluster.com/771
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
Diffstat (limited to 'xlators/features/quiesce/src')
| -rw-r--r-- | xlators/features/quiesce/src/quiesce.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/xlators/features/quiesce/src/quiesce.c b/xlators/features/quiesce/src/quiesce.c index 84df12a31ff..57b2cdeacb0 100644 --- a/xlators/features/quiesce/src/quiesce.c +++ b/xlators/features/quiesce/src/quiesce.c @@ -661,7 +661,8 @@ quiesce_readdirp_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          if ((op_ret == -1) && (op_errno == ENOTCONN)) {                  /* Re-transmit (by putting in the queue) */                  stub = fop_readdirp_stub (frame, default_readdirp_resume, -                                          local->fd, local->size, local->offset); +                                          local->fd, local->size, local->offset, +                                          local->dict);                  if (!stub) {                          STACK_UNWIND_STRICT (readdirp, frame, -1, ENOMEM,                                               NULL); @@ -2257,7 +2258,7 @@ quiesce_readdirp (call_frame_t *frame,  		  xlator_t *this,  		  fd_t *fd,  		  size_t size, -		  off_t off) +		  off_t off, dict_t *dict)  {  	quiesce_priv_t *priv = NULL;          call_stub_t    *stub = NULL; @@ -2270,17 +2271,19 @@ quiesce_readdirp (call_frame_t *frame,                  local->fd = fd_ref (fd);                  local->size = size;                  local->offset = off; +                local->dict = dict_ref (dict);                  frame->local = local;                  STACK_WIND (frame,                              quiesce_readdirp_cbk,                              FIRST_CHILD(this),                              FIRST_CHILD(this)->fops->readdirp, -                            fd, size, off); +                            fd, size, off, dict);  	        return 0;          } -        stub = fop_readdirp_stub (frame, default_readdirp_resume, fd, size, off); +        stub = fop_readdirp_stub (frame, default_readdirp_resume, fd, size, +                                  off, dict);          if (!stub) {                  STACK_UNWIND_STRICT (readdirp, frame, -1, ENOMEM, NULL);                  return 0;  | 
