diff options
Diffstat (limited to 'xlators/features')
-rw-r--r-- | xlators/features/shard/src/shard.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index f892fb69efa..f04a02fd522 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -1703,7 +1703,11 @@ shard_common_lookup_shards_cbk (call_frame_t *frame, void *cookie, case GF_FOP_FALLOCATE: if ((!local->first_lookup_done) && (op_errno == ENOENT)) { - local->create_count++; + LOCK (&frame->lock); + { + local->create_count++; + } + UNLOCK (&frame->lock); goto done; } break; @@ -3230,7 +3234,11 @@ shard_common_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this, if (op_ret < 0) { if (op_errno == EEXIST) { - local->eexist_count++; + LOCK (&frame->lock); + { + local->eexist_count++; + } + UNLOCK (&frame->lock); } else { local->op_ret = op_ret; local->op_errno = op_errno; |