On Mon, Mar 07, 2016 at 05:12:33PM +0100, Pino Toscano wrote:
 On Monday 07 March 2016 11:18:32 Richard W.M. Jones wrote:
 > +#if defined(__GNUC__) && GUESTFS_GCC_VERSION >= 40800 /* gcc >= 4.8.0
*/
 > +#pragma GCC diagnostic push
 > +#pragma GCC diagnostic ignored "-Wstack-usage=10000"
 > +#endif
 > +
 >  /* Takes optional arguments, consult optargs_bitmask. */
 >  int
 >  do_btrfs_filesystem_resize (const char *filesystem, int64_t size)
 
 Is this because of the argv[MAX_ARGS] here ^ and in do_mkfs_btrfs?
 (Similar notes for all the other diagnostic markers added by this
 patch.) 
Yes.
 As slightly related change (although that can be done after this
patch),
 something to reduce a bit the stacks in the daemon would be reduce the
 MAX_ARGS to values closer (but not too much) than the actual needs.
 I see most of the MAX_ARGS=64 cases have no more than 10 arguments
 added, even in the worst case... 
OK, but I wouldn't want to go too small.  There's not any particular
need to reduce stack frames below, say, 4K.  The real issues with
large stack frames are:
 - JVM & other environments with small per-thread stacks
 - arbitrarily large stack frames controlled from untrusted sources
 - avoiding using BUFSIZ, PATH_MAX and similar where we don't directly
   control those constants, so we might encounter a system where they
   are much larger [mostly we've got rid of PATH_MAX for other reasons]
 - to a lesser extent the previous point applies even to things we do
   control like GUESTFS_MAX_CHUNK_SIZE where we might conceivably wish
   to increase them in future.
I have fixed all the other things you noted, and am just testing
everything again.
Thanks,
Rich.
-- 
Richard Jones, Virtualization Group, Red Hat 
http://people.redhat.com/~rjones
Read my programming and virtualization blog: 
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines.  Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v