summaryrefslogtreecommitdiffstats
path: root/xlators/storage/posix/src/posix-inode-fd-ops.c
diff options
context:
space:
mode:
authorMohit Agrawal <moagrawal@redhat.com>2018-12-10 11:14:04 +0530
committerXavi Hernandez <xhernandez@redhat.com>2019-01-15 11:52:22 +0000
commit2261e444a47ffffb5d64305efceee1d5a734cd75 (patch)
tree06f85f6e3f4ba6c81a62347ad6b4102f6ec2f847 /xlators/storage/posix/src/posix-inode-fd-ops.c
parentf578cdad23d8a8428a7012f777f4987507f19ea4 (diff)
posix: Convert several posix_private members to gf_atomic
Change-Id: I629698d8ddf6f15428880bdc1501d36bc37b8ebb fixes: bz#1657607 Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
Diffstat (limited to 'xlators/storage/posix/src/posix-inode-fd-ops.c')
-rw-r--r--xlators/storage/posix/src/posix-inode-fd-ops.c32
1 files changed, 5 insertions, 27 deletions
diff --git a/xlators/storage/posix/src/posix-inode-fd-ops.c b/xlators/storage/posix/src/posix-inode-fd-ops.c
index 9867d5fac69..0aabff2615b 100644
--- a/xlators/storage/posix/src/posix-inode-fd-ops.c
+++ b/xlators/storage/posix/src/posix-inode-fd-ops.c
@@ -1476,12 +1476,7 @@ posix_open(call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags,
gf_msg(this->name, GF_LOG_WARNING, 0, P_MSG_FD_PATH_SETTING_FAILED,
"failed to set the fd context path=%s fd=%p", real_path, fd);
- LOCK(&priv->lock);
- {
- priv->nr_files++;
- }
- UNLOCK(&priv->lock);
-
+ GF_ATOMIC_INC(priv->nr_files);
op_ret = 0;
out:
@@ -1590,11 +1585,7 @@ posix_readv(call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size,
goto out;
}
- LOCK(&priv->lock);
- {
- priv->read_value += op_ret;
- }
- UNLOCK(&priv->lock);
+ GF_ATOMIC_ADD(priv->read_value, op_ret);
vec.iov_base = iobuf->ptr;
vec.iov_len = op_ret;
@@ -1940,11 +1931,7 @@ posix_writev(call_frame_t *frame, xlator_t *this, fd_t *fd,
}
}
- LOCK(&priv->lock);
- {
- priv->write_value += op_ret;
- }
- UNLOCK(&priv->lock);
+ GF_ATOMIC_ADD(priv->write_value, op_ret);
out:
@@ -2208,11 +2195,7 @@ posix_copy_file_range(call_frame_t *frame, xlator_t *this, fd_t *fd_in,
* this comment (or add comment to explain why it is not
* needed).
*/
- LOCK(&priv->lock);
- {
- priv->write_value += op_ret;
- }
- UNLOCK(&priv->lock);
+ GF_ATOMIC_ADD(priv->write_value, op_ret);
out:
@@ -2371,12 +2354,7 @@ posix_release(xlator_t *this, fd_t *fd)
if (!priv)
goto out;
- LOCK(&priv->lock);
- {
- priv->nr_files--;
- }
- UNLOCK(&priv->lock);
-
+ GF_ATOMIC_DEC(priv->nr_files);
out:
return 0;
}