diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2019-09-12 11:07:10 +0530 |
---|---|---|
committer | Amar Tumballi <amar@kadalu.io> | 2020-07-08 13:28:04 +0000 |
commit | cdf01cc47eb2efb427b5855732d9607eec2abc8a (patch) | |
tree | 1388cf941ff71c518e7a7793e58eba52a084947d /xlators/features/shard/src/shard.h | |
parent | e2d16d5e60f3864c816824618fd86d0c6f5bcd61 (diff) |
features/shard: Convert shard block indices to uint64
This patch fixes a crash in FOPs that operate on really large sharded
files where number of participant shards could sometimes exceed
signed int32 max.
The patch also adds GF_ASSERTs to ensure that number of participating
shards is always greater than 0 for files that do have more than one
shard.
Change-Id: I354de58796f350eb1aa42fcdf8092ca2e69ccbb6
Fixes: #1348
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Diffstat (limited to 'xlators/features/shard/src/shard.h')
-rw-r--r-- | xlators/features/shard/src/shard.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/xlators/features/shard/src/shard.h b/xlators/features/shard/src/shard.h index 17214177882..4fe181b64d5 100644 --- a/xlators/features/shard/src/shard.h +++ b/xlators/features/shard/src/shard.h @@ -254,9 +254,9 @@ typedef int32_t (*shard_post_update_size_fop_handler_t)(call_frame_t *frame, typedef struct shard_local { int op_ret; int op_errno; - int first_block; - int last_block; - int num_blocks; + uint64_t first_block; + uint64_t last_block; + uint64_t num_blocks; int call_count; int eexist_count; int create_count; |