diff options
Diffstat (limited to 'xlators/features')
| -rw-r--r-- | xlators/features/arbiter/src/arbiter-mem-types.h | 1 | ||||
| -rw-r--r-- | xlators/features/arbiter/src/arbiter.c | 36 | ||||
| -rw-r--r-- | xlators/features/arbiter/src/arbiter.h | 2 | 
3 files changed, 12 insertions, 27 deletions
diff --git a/xlators/features/arbiter/src/arbiter-mem-types.h b/xlators/features/arbiter/src/arbiter-mem-types.h index 200b59de695..ccf864cdef0 100644 --- a/xlators/features/arbiter/src/arbiter-mem-types.h +++ b/xlators/features/arbiter/src/arbiter-mem-types.h @@ -13,7 +13,6 @@  typedef enum gf_arbiter_mem_types_ {          gf_arbiter_mt_inode_ctx_t =  gf_common_mt_end + 1, -        gf_arbiter_mt_iatt,          gf_arbiter_mt_end  } gf_arbiter_mem_types_t;  #endif diff --git a/xlators/features/arbiter/src/arbiter.c b/xlators/features/arbiter/src/arbiter.c index 786f60b7bc9..0e555c84274 100644 --- a/xlators/features/arbiter/src/arbiter.c +++ b/xlators/features/arbiter/src/arbiter.c @@ -14,15 +14,6 @@  #include "xlator.h"  #include "logging.h" -void -arbiter_inode_ctx_destroy (arbiter_inode_ctx_t *ctx) -{ -        if (!ctx) -                return; -        GF_FREE (ctx->iattbuf); -        GF_FREE (ctx); -} -  static arbiter_inode_ctx_t *  __arbiter_inode_ctx_get (inode_t *inode, xlator_t *this)  { @@ -39,23 +30,18 @@ __arbiter_inode_ctx_get (inode_t *inode, xlator_t *this)          ctx = GF_CALLOC (1, sizeof (*ctx), gf_arbiter_mt_inode_ctx_t);          if (!ctx) -                goto fail; -        ctx->iattbuf = GF_CALLOC (1, sizeof (*ctx->iattbuf), -                                  gf_arbiter_mt_iatt); -        if (!ctx->iattbuf) -                goto fail; +                goto out; +          ret = __inode_ctx_put (inode, this, (uint64_t)ctx);          if (ret) { +                GF_FREE (ctx); +                ctx = NULL;                  gf_log_callingfn (this->name, GF_LOG_ERROR, "failed to "                                    "set the inode ctx (%s)",                                    uuid_utoa (inode->gfid)); -                goto fail;          }  out:          return ctx; -fail: -        arbiter_inode_ctx_destroy (ctx); -        return NULL;  }  static arbiter_inode_ctx_t * @@ -86,7 +72,7 @@ arbiter_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                  op_errno = ENOMEM;                  goto unwind;          } -        memcpy (ctx->iattbuf, buf, sizeof (*ctx->iattbuf)); +        memcpy (&ctx->iattbuf, buf, sizeof (ctx->iattbuf));  unwind:          STACK_UNWIND_STRICT (lookup, frame, op_ret, op_errno, inode, buf, @@ -126,7 +112,7 @@ arbiter_truncate (call_frame_t *frame, xlator_t *this, loc_t *loc, off_t offset,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;  unwind:          STACK_UNWIND_STRICT (truncate, frame, op_ret, op_errno, buf, buf, NULL);          return 0; @@ -148,7 +134,7 @@ arbiter_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;  unwind:          STACK_UNWIND_STRICT (ftruncate, frame, op_ret, op_errno, buf, buf,                               NULL); @@ -210,7 +196,7 @@ arbiter_writev (call_frame_t *frame, xlator_t *this, fd_t *fd,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;          op_ret = iov_length (vector, count);          rsp_xdata = arbiter_fill_writev_xdata (fd, xdata, this);  unwind: @@ -236,7 +222,7 @@ arbiter_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;  unwind:          STACK_UNWIND_STRICT(fallocate, frame, op_ret, op_errno, buf, buf, NULL);          return 0; @@ -257,7 +243,7 @@ arbiter_discard (call_frame_t *frame, xlator_t *this, fd_t *fd,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;  unwind:          STACK_UNWIND_STRICT(discard, frame, op_ret, op_errno, buf, buf, NULL);          return 0; @@ -278,7 +264,7 @@ arbiter_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd,                  op_errno = ENOMEM;                  goto unwind;          } -        buf = ctx->iattbuf; +        buf = &ctx->iattbuf;  unwind:          STACK_UNWIND_STRICT(zerofill, frame, op_ret, op_errno, buf, buf, NULL);          return 0; diff --git a/xlators/features/arbiter/src/arbiter.h b/xlators/features/arbiter/src/arbiter.h index 6ccc3add3b3..f52b45fad20 100644 --- a/xlators/features/arbiter/src/arbiter.h +++ b/xlators/features/arbiter/src/arbiter.h @@ -15,7 +15,7 @@  #include "common-utils.h"  typedef struct arbiter_inode_ctx_ { -        struct iatt *iattbuf; +        struct iatt iattbuf;  } arbiter_inode_ctx_t;  #endif /* _ARBITER_H */  | 
