btrfs-progs: use less memory for pretty_size_mode buffers
authorDavid Sterba <dsterba@suse.cz>
Fri, 27 Feb 2015 18:37:24 +0000 (19:37 +0100)
committerDavid Sterba <dsterba@suse.cz>
Wed, 10 Jun 2015 23:10:10 +0000 (01:10 +0200)
commit6d7999d5b747283314c0f3833a3d9515f674a446
tree5af8bb4c6219e6264f7b5ecb680d7b475c9a613f
parent4ceffd0927360c83bec94606112b4e59cb7d2d73
btrfs-progs: use less memory for pretty_size_mode buffers

Anand reports that the static buffers used for pertty size strings cause
a stack overflow on SPARC. Zach proposed to change the printf format to
wrap the number and the suffix into a macro. This would require to
change all callsites of pretty_size* and is not very convienient to
write.

This patch replaces the per-call-site static buffers with a limited
number for slots that would be used on each invokation of pretty_size
and wrap around. The number of array slots shall be 10 for now, in
current codebase there are no more than 2 calls to pretty_size in a
single argument list.

Reported-by: Anand Jain <Anand.Jain@oracle.com>
CC: Zach Brown <zab@zabbo.net>
Signed-off-by: David Sterba <dsterba@suse.cz>
utils.c
utils.h