diff options
author | Josef Bacik <jbacik@fusionio.com> | 2013-10-22 10:10:21 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-10-24 05:57:44 -0400 |
commit | cee267d8c8175e6f8cd7605ccb11379a20ea8c99 (patch) | |
tree | 836a0eeb89cb4ac2320619c25be41fcb61092012 /utils.h | |
parent | d33b2a48429563b3c777249ae03cfbecb13d9d07 (diff) |
Btrfs-progs: make pretty_sizes take u64 instead of a double
This got changed to a double but all the callers still use a u64, which causes
us to segfault sometimes because of some weird C voodoo that I had to have
explained to me. Apparently because we're using a double the compiler will use
the floating point registers to hold our argument which ends up not being
aligned properly if you don't actually give it a double so it will cause
problems for other things, in our case it was screwing up str_bytes so it was
larger than the actual size of the str. This patch fixes the segfault. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Diffstat (limited to 'utils.h')
-rw-r--r-- | utils.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -57,7 +57,7 @@ int check_mounted_where(int fd, const char *file, char *where, int size, int btrfs_device_already_in_root(struct btrfs_root *root, int fd, int super_offset); -int pretty_size_snprintf(double size, char *str, size_t str_bytes); +int pretty_size_snprintf(u64 size, char *str, size_t str_bytes); #define pretty_size(size) \ ({ \ static __thread char _str[24]; \ |