diff options
| author | Pranith Kumar K <pkarampu@redhat.com> | 2015-09-23 21:41:55 +0530 | 
|---|---|---|
| committer | Raghavendra Bhat <raghavendra@redhat.com> | 2015-09-28 00:16:55 -0700 | 
| commit | 7f33579e8a42eb19e92559a6c3acaeb92b6bb184 (patch) | |
| tree | 18a6a1470fcaf40835dc6eb16ff98b5a0a90f708 /xlators/storage | |
| parent | 0428a0acf7cfeef6a92065eeca2b8904b0f8a132 (diff) | |
storage/posix: Prevent extra handle-path
In readdirp_fill we already have the path of the file/directory.
No need to construct handle-path again. This saves two lstats and
at least two readlink calls per directory.
Change-Id: I8d1b2afeda3e053265a243d4e9a101192f5f509e
BUG: 1265893
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/12222
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Diffstat (limited to 'xlators/storage')
| -rw-r--r-- | xlators/storage/posix/src/posix.c | 14 | 
1 files changed, 2 insertions, 12 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 2f5f2d9c660..c86f8894d69 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -5544,24 +5544,14 @@ out:  dict_t *  posix_entry_xattr_fill (xlator_t *this, inode_t *inode, -                        fd_t *fd, char *name, dict_t *dict, +                        fd_t *fd, char *entry_path, dict_t *dict,                          struct iatt *stbuf)  {          loc_t  tmp_loc    = {0,}; -        char  *entry_path = NULL;          /* if we don't send the 'loc', open-fd-count be a problem. */          tmp_loc.inode = inode; -        MAKE_HANDLE_PATH (entry_path, this, fd->inode->gfid, name); -        if (!entry_path) { -                gf_msg (this->name, GF_LOG_WARNING, 0, -                        P_MSG_HANDLE_CREATE, -                        "Failed to create handle path for %s/%s", -                        uuid_utoa (fd->inode->gfid), name); - -                return NULL; -        }          return posix_xattr_fill (this, entry_path, &tmp_loc, NULL, -1, dict,                                   stbuf); @@ -5618,7 +5608,7 @@ posix_readdirp_fill (xlator_t *this, fd_t *fd, gf_dirent_t *entries, dict_t *dic                  if (dict) {                          entry->dict =                                  posix_entry_xattr_fill (this, entry->inode, -                                                        fd, entry->d_name, +                                                        fd, hpath,                                                          dict, &stbuf);                  }  | 
