diff options
author | Emmanuel Dreyfus <manu@netbsd.org> | 2014-08-10 10:08:52 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-09-16 04:47:15 -0700 |
commit | b30f9e56cd92906ccb97e046b8928d7de76b4b50 (patch) | |
tree | 744af182ac309350f8270d3f4c1d3df571a3fa53 /xlators/features | |
parent | c7437f35df1127c05a4df0f7bf3ae95b71b7831e (diff) |
Do not assume sizeof(size_t)
This fixes an assumption that sizeof(size_t) == sizeof(uint64_t), which
is not guaranteed. At least on NetBSD/i386, size_t is 32 bit long.
Caught by tests/basics/file-snapshot.t
BUG: 764655
Change-Id: Ib7620a2ffe8758521886af37bc280101a040d860
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8441
Reviewed-by: Humble Devassy Chirammal <humble.devassy@gmail.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Dan Lambright <dlambrig@redhat.com>
Diffstat (limited to 'xlators/features')
-rw-r--r-- | xlators/features/qemu-block/src/qemu-block.c | 2 | ||||
-rw-r--r-- | xlators/features/qemu-block/src/qemu-block.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/xlators/features/qemu-block/src/qemu-block.c b/xlators/features/qemu-block/src/qemu-block.c index 48bbf314048..768866f6429 100644 --- a/xlators/features/qemu-block/src/qemu-block.c +++ b/xlators/features/qemu-block/src/qemu-block.c @@ -316,7 +316,7 @@ qb_setxattr_format (call_frame_t *frame, xlator_t *this, call_stub_t *stub, qb_local->stub = stub; qb_local->inode = inode_ref (inode); - snprintf(qb_local->fmt, QB_XATTR_VAL_MAX, "%s:%lu", qb_inode->fmt, + snprintf(qb_local->fmt, QB_XATTR_VAL_MAX, "%s:%" PRId64, qb_inode->fmt, qb_inode->size); qb_coroutine (frame, qb_format_and_resume); diff --git a/xlators/features/qemu-block/src/qemu-block.h b/xlators/features/qemu-block/src/qemu-block.h index c95f2799ac6..21cdcec2613 100644 --- a/xlators/features/qemu-block/src/qemu-block.h +++ b/xlators/features/qemu-block/src/qemu-block.h @@ -40,7 +40,7 @@ typedef struct qb_inode { char fmt[QB_XATTR_VAL_MAX]; /* this is only the format, not "format:size" */ - size_t size; /* virtual size in bytes */ + uint64_t size; /* virtual size in bytes */ BlockDriverState *bs; int refcnt; uuid_t backing_gfid; |