Fix type mismatch on 32-bit systems
The umem_alloc_aligned() function should not assume that a 'void *' type is 64-bit. It will not be on 32-bit platforms. Rather than complicating the ASSERT to handle this it is simply removed. Additionally, the '%lu' format specifier should not be assumed to imply a 64-bit value. Fix this by using the 'llu' format specifier which will always be atleast 64-bit and explicitly casing the variable to an u_longlong_t. This issue is handled the same way in many other parts of the code. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
f9cab37291
commit
3df293404a
|
@ -109,8 +109,6 @@ umem_alloc_aligned(size_t size, size_t align, int flags)
|
|||
return (NULL);
|
||||
}
|
||||
|
||||
ASSERT0(P2PHASE_TYPED(ptr, align, uint64_t));
|
||||
|
||||
return (ptr);
|
||||
}
|
||||
|
||||
|
|
|
@ -2179,7 +2179,8 @@ again:
|
|||
needagain = B_TRUE;
|
||||
else
|
||||
progress = B_TRUE;
|
||||
sprintf(guidname, "%lu", thisguid);
|
||||
sprintf(guidname, "%llu",
|
||||
(u_longlong_t)thisguid);
|
||||
nvlist_add_boolean(deleted, guidname);
|
||||
continue;
|
||||
}
|
||||
|
@ -2236,7 +2237,8 @@ again:
|
|||
needagain = B_TRUE;
|
||||
else
|
||||
progress = B_TRUE;
|
||||
sprintf(guidname, "%lu", parent_fromsnap_guid);
|
||||
sprintf(guidname, "%llu",
|
||||
(u_longlong_t) parent_fromsnap_guid);
|
||||
nvlist_add_boolean(deleted, guidname);
|
||||
continue;
|
||||
}
|
||||
|
@ -2269,7 +2271,8 @@ again:
|
|||
if (stream_parent_fromsnap_guid != 0 &&
|
||||
parent_fromsnap_guid != 0 &&
|
||||
stream_parent_fromsnap_guid != parent_fromsnap_guid) {
|
||||
sprintf(guidname, "%lu", parent_fromsnap_guid);
|
||||
sprintf(guidname, "%llu",
|
||||
(u_longlong_t) parent_fromsnap_guid);
|
||||
if (nvlist_exists(deleted, guidname)) {
|
||||
progress = B_TRUE;
|
||||
needagain = B_TRUE;
|
||||
|
|
Loading…
Reference in New Issue