diff options
Diffstat (limited to 'xlators/features/locks/src/inodelk.c')
-rw-r--r-- | xlators/features/locks/src/inodelk.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/xlators/features/locks/src/inodelk.c b/xlators/features/locks/src/inodelk.c index 95afc902ffa..df00ede242d 100644 --- a/xlators/features/locks/src/inodelk.c +++ b/xlators/features/locks/src/inodelk.c @@ -873,23 +873,17 @@ pl_inode_setlk(xlator_t *this, pl_ctx_t *ctx, pl_inode_t *pl_inode, } /* Create a new inode_lock_t */ -static pl_inode_lock_t * +pl_inode_lock_t * new_inode_lock(struct gf_flock *flock, client_t *client, pid_t client_pid, call_frame_t *frame, xlator_t *this, const char *volume, - char *conn_id, int32_t *op_errno) + char *conn_id) { pl_inode_lock_t *lock = NULL; - if (!pl_is_lk_owner_valid(&frame->root->lk_owner, frame->root->client)) { - *op_errno = EINVAL; - goto out; - } - lock = GF_CALLOC(1, sizeof(*lock), gf_locks_mt_pl_inode_lock_t); if (!lock) { - *op_errno = ENOMEM; - goto out; + return NULL; } lock->fl_start = flock->l_start; @@ -917,7 +911,6 @@ new_inode_lock(struct gf_flock *flock, client_t *client, pid_t client_pid, INIT_LIST_HEAD(&lock->contend); __pl_inodelk_ref(lock); -out: return lock; } @@ -1012,10 +1005,11 @@ pl_common_inodelk(call_frame_t *frame, xlator_t *this, const char *volume, } reqlock = new_inode_lock(flock, frame->root->client, frame->root->pid, - frame, this, dom->domain, conn_id, &op_errno); + frame, this, dom->domain, conn_id); if (!reqlock) { op_ret = -1; + op_errno = ENOMEM; goto unwind; } |