mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 14:59:34 +00:00
zfs: Use grub_uint64_t instead of 1ULL in BF64_*CODE() macros
The underlying type of 1ULL does not change across architectures but grub_uint64_t does. This allows using the BF64_*CODE() macros as arguments to format string functions that use the PRI* format string macros that also vary with architecture. Change the grub_error() call, where this was previously an issue and temporarily fixed by casting and using a format string literal code, to now use PRI* macros and remove casting. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
1 parent
69665e07cb
commit
3ffd708dd5
2 files changed
+5
-4
No files matched your search
@@ -1869,8 +1869,9 @@ zio_read (blkptr_t *bp, grub_zfs_endian_t endian, void **buf,
|
|||||||
{
|
{
|
||||||
if (BPE_GET_ETYPE(bp) != BP_EMBEDDED_TYPE_DATA)
|
if (BPE_GET_ETYPE(bp) != BP_EMBEDDED_TYPE_DATA)
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
"unsupported embedded BP (type=%llu)\n",
|
"unsupported embedded BP (type=%"
|
||||||
(long long unsigned int) BPE_GET_ETYPE(bp));
|
PRIuGRUB_UINT64_T ")\n",
|
||||||
|
BPE_GET_ETYPE (bp));
|
||||||
lsize = BPE_GET_LSIZE(bp);
|
lsize = BPE_GET_LSIZE(bp);
|
||||||
psize = BF64_GET_SB(grub_zfs_to_cpu64 ((bp)->blk_prop, endian), 25, 7, 0, 1);
|
psize = BF64_GET_SB(grub_zfs_to_cpu64 ((bp)->blk_prop, endian), 25, 7, 0, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,9 +44,9 @@
|
|||||||
* General-purpose 32-bit and 64-bit bitfield encodings.
|
* General-purpose 32-bit and 64-bit bitfield encodings.
|
||||||
*/
|
*/
|
||||||
#define BF32_DECODE(x, low, len) P2PHASE((x) >> (low), 1U << (len))
|
#define BF32_DECODE(x, low, len) P2PHASE((x) >> (low), 1U << (len))
|
||||||
#define BF64_DECODE(x, low, len) P2PHASE((x) >> (low), 1ULL << (len))
|
#define BF64_DECODE(x, low, len) P2PHASE((x) >> (low), ((grub_uint64_t) 1) << (len))
|
||||||
#define BF32_ENCODE(x, low, len) (P2PHASE((x), 1U << (len)) << (low))
|
#define BF32_ENCODE(x, low, len) (P2PHASE((x), 1U << (len)) << (low))
|
||||||
#define BF64_ENCODE(x, low, len) (P2PHASE((x), 1ULL << (len)) << (low))
|
#define BF64_ENCODE(x, low, len) (P2PHASE((x), ((grub_uint64_t) 1) << (len)) << (low))
|
||||||
|
|
||||||
#define BF32_GET(x, low, len) BF32_DECODE(x, low, len)
|
#define BF32_GET(x, low, len) BF32_DECODE(x, low, len)
|
||||||
#define BF64_GET(x, low, len) BF64_DECODE(x, low, len)
|
#define BF64_GET(x, low, len) BF64_DECODE(x, low, len)
|
||||||
|
|||||||
Reference in new issue
Block a user