diff options
Diffstat (limited to 'xlators/cluster/dht/src/switch.c')
| -rw-r--r-- | xlators/cluster/dht/src/switch.c | 37 | 
1 files changed, 6 insertions, 31 deletions
diff --git a/xlators/cluster/dht/src/switch.c b/xlators/cluster/dht/src/switch.c index e6a2e5d5cb7..fd3f22ea053 100644 --- a/xlators/cluster/dht/src/switch.c +++ b/xlators/cluster/dht/src/switch.c @@ -23,7 +23,7 @@  #include "config.h"  #endif -#include "dht-common.c" +#include "dht-common.h"  #include "dht-mem-types.h"  #include <sys/time.h> @@ -246,21 +246,12 @@ switch_lookup (call_frame_t *frame, xlator_t *this,          conf = this->private; -        local = dht_local_init (frame); +        local = dht_local_init (frame, loc, NULL, GF_FOP_LOOKUP);          if (!local) {                  op_errno = ENOMEM;                  goto err;          } -        ret = loc_dup (loc, &local->loc); -        if (ret == -1) { -                op_errno = errno; -                gf_log (this->name, GF_LOG_DEBUG, -                        "copying location failed for path=%s", -                        loc->path); -                goto err; -        } -          if (xattr_req) {                  local->xattr_req = dict_ref (xattr_req);          } else { @@ -268,14 +259,12 @@ switch_lookup (call_frame_t *frame, xlator_t *this,          }          hashed_subvol = dht_subvol_get_hashed (this, &local->loc); -        cached_subvol = dht_subvol_get_cached (this, local->loc.inode); +        cached_subvol = local->cached_subvol; -        local->cached_subvol = cached_subvol;          local->hashed_subvol = hashed_subvol;          if (is_revalidate (loc)) { -                local->layout = layout = dht_layout_get (this, loc->inode); - +                layout = local->layout;                  if (!layout) {                          gf_log (this->name, GF_LOG_DEBUG,                                  "revalidate without cache. path=%s", @@ -418,7 +407,6 @@ switch_create (call_frame_t *frame, xlator_t *this,          xlator_t    *subvol = NULL;          xlator_t    *avail_subvol = NULL;          int          op_errno = -1; -        int          ret = -1;          VALIDATE_OR_GOTO (frame, err);          VALIDATE_OR_GOTO (this, err); @@ -428,7 +416,7 @@ switch_create (call_frame_t *frame, xlator_t *this,          dht_get_du_info (frame, this, loc); -        local = dht_local_init (frame); +        local = dht_local_init (frame, loc, fd, GF_FOP_CREATE);          if (!local) {                  op_errno = ENOMEM;                  goto err; @@ -451,13 +439,6 @@ switch_create (call_frame_t *frame, xlator_t *this,          if (subvol != avail_subvol) {                  /* create a link file instead of actual file */ -                ret = loc_copy (&local->loc, loc); -                if (ret == -1) { -                        op_errno = ENOMEM; -                        goto err; -                } - -                local->fd = fd_ref (fd);                  local->mode = mode;                  local->flags = flags; @@ -520,7 +501,6 @@ switch_mknod (call_frame_t *frame, xlator_t *this,          xlator_t    *subvol = NULL;          xlator_t    *avail_subvol = NULL;          int          op_errno = -1; -        int          ret = -1;          VALIDATE_OR_GOTO (frame, err);          VALIDATE_OR_GOTO (this, err); @@ -530,7 +510,7 @@ switch_mknod (call_frame_t *frame, xlator_t *this,          dht_get_du_info (frame, this, loc); -        local = dht_local_init (frame); +        local = dht_local_init (frame, loc, NULL, GF_FOP_MKNOD);          if (!local) {                  op_errno = ENOMEM;                  goto err; @@ -554,11 +534,6 @@ switch_mknod (call_frame_t *frame, xlator_t *this,          if (avail_subvol != subvol) {                  /* Create linkfile first */ -                ret = loc_copy (&local->loc, loc); -                if (ret == -1) { -                        op_errno = ENOMEM; -                        goto err; -                }                  local->params = dict_ref (params);                  local->mode = mode;  | 
