Btrfs-progs: fix some build warnings on 32bit platform
Fix following build warnings on 32bit platform: ... utils.c:1708:3: warning: left shift count >= width of type [enabled by default] if (x << i & (1UL << 63)) ^ qgroup-verify.c:393:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] return (struct tree_block *)unode->aux; ^ qgroup-verify.c:407:38: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] if (ulist_add(tree_blocks, bytenr, (unsigned long long)block, 0) >= 0) ^ cmds-restore.c:120:4: warning: format %lu expects argument of type long unsigned int, but argument 3 has type size_t [-Wformat=] fprintf(stderr, "bad compress length %lu\n", in_len); ... BTW, this patch also switches other castings with new helpers. Signed-off-by: Wang Shilong <wangshilong1991@gmail.com> Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
parent
6452351060
commit
84ebfa6d88
|
@ -49,7 +49,7 @@ static int __ino_to_path_fd(u64 inum, int fd, int verbose, const char *prepend)
|
||||||
memset(fspath, 0, sizeof(*fspath));
|
memset(fspath, 0, sizeof(*fspath));
|
||||||
ipa.inum = inum;
|
ipa.inum = inum;
|
||||||
ipa.size = 4096;
|
ipa.size = 4096;
|
||||||
ipa.fspath = (uintptr_t)fspath;
|
ipa.fspath = ptr_to_u64(fspath);
|
||||||
|
|
||||||
ret = ioctl(fd, BTRFS_IOC_INO_PATHS, &ipa);
|
ret = ioctl(fd, BTRFS_IOC_INO_PATHS, &ipa);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
@ -185,7 +185,7 @@ static int cmd_logical_resolve(int argc, char **argv)
|
||||||
memset(inodes, 0, sizeof(*inodes));
|
memset(inodes, 0, sizeof(*inodes));
|
||||||
loi.logical = arg_strtou64(argv[optind]);
|
loi.logical = arg_strtou64(argv[optind]);
|
||||||
loi.size = size;
|
loi.size = size;
|
||||||
loi.inodes = (uintptr_t)inodes;
|
loi.inodes = ptr_to_u64(inodes);
|
||||||
|
|
||||||
fd = open_file_or_dir(argv[optind+1], &dirstream);
|
fd = open_file_or_dir(argv[optind+1], &dirstream);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
|
|
|
@ -117,7 +117,8 @@ static int decompress_lzo(unsigned char *inbuf, char *outbuf, u64 compress_len,
|
||||||
in_len = read_compress_length(inbuf);
|
in_len = read_compress_length(inbuf);
|
||||||
|
|
||||||
if ((tot_in + LZO_LEN + in_len) > tot_len) {
|
if ((tot_in + LZO_LEN + in_len) > tot_len) {
|
||||||
fprintf(stderr, "bad compress length %lu\n", in_len);
|
fprintf(stderr, "bad compress length %lu\n",
|
||||||
|
(unsigned long)in_len);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3090,8 +3090,7 @@ int btrfs_free_block_groups(struct btrfs_fs_info *info)
|
||||||
break;
|
break;
|
||||||
ret = get_state_private(&info->block_group_cache, start, &ptr);
|
ret = get_state_private(&info->block_group_cache, start, &ptr);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
cache = (struct btrfs_block_group_cache *)
|
cache = u64_to_ptr(ptr);
|
||||||
(uintptr_t)ptr;
|
|
||||||
if (cache->free_space_ctl) {
|
if (cache->free_space_ctl) {
|
||||||
btrfs_remove_free_space_cache(cache);
|
btrfs_remove_free_space_cache(cache);
|
||||||
kfree(cache->free_space_ctl);
|
kfree(cache->free_space_ctl);
|
||||||
|
|
|
@ -28,6 +28,10 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#define ptr_to_u64(x) ((u64)(uintptr_t)x)
|
||||||
|
#define u64_to_ptr(x) ((void *)(uintptr_t)x)
|
||||||
|
|
||||||
#ifndef READ
|
#ifndef READ
|
||||||
#define READ 0
|
#define READ 0
|
||||||
|
|
|
@ -390,7 +390,7 @@ static u64 resolve_one_root(u64 bytenr)
|
||||||
|
|
||||||
static inline struct tree_block *unode_tree_block(struct ulist_node *unode)
|
static inline struct tree_block *unode_tree_block(struct ulist_node *unode)
|
||||||
{
|
{
|
||||||
return (struct tree_block *)unode->aux;
|
return u64_to_ptr(unode->aux);
|
||||||
}
|
}
|
||||||
static inline u64 unode_bytenr(struct ulist_node *unode)
|
static inline u64 unode_bytenr(struct ulist_node *unode)
|
||||||
{
|
{
|
||||||
|
@ -404,7 +404,7 @@ static int alloc_tree_block(u64 bytenr, u64 num_bytes, int level)
|
||||||
if (block) {
|
if (block) {
|
||||||
block->num_bytes = num_bytes;
|
block->num_bytes = num_bytes;
|
||||||
block->level = level;
|
block->level = level;
|
||||||
if (ulist_add(tree_blocks, bytenr, (unsigned long long)block, 0) >= 0)
|
if (ulist_add(tree_blocks, bytenr, ptr_to_u64(block), 0) >= 0)
|
||||||
return 0;
|
return 0;
|
||||||
free(block);
|
free(block);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue