s/KM_SLEEP/KM_PUSHPAGE/ in log_internal.  The first of probably many such changes :)
Squash "may be used uninitialized" warning/erorrs.
Fix some printf format warnings for %lld and %llu.
Squash "may be used uninitialized" warning/erorrs.
Add fnvlist_alloc_nosleep() which is like fnvlist_alloc() but uses
KM_NOSLEEP.  This is necessary because the spa_history functions now
use fnvlist_alloc() and are in the txg_sync call path.

Change all the uses of fnvlist_alloc in spa_history.c to use
fnvlist_alloc_nosleep.  I'm not sure if every single one of them needed
to be changed.  Some may not be in the txg_sync call path.
Add "_nosleep" versions of the pack, unpack, dup and merge instances
of the "fnvlist" functions.

Use fnvlist_pack_nosleep in spa_history.c.