Andreas, On Sat, Dec 06, 2014 at 05:05:14PM +0000, Dilger, Andreas wrote: > On 2014/12/05, 3:41 PM, "Tristan Lelong" <tristan@xxxxxxxxxx> wrote: > > > Sorry, but I don't see where you get 80 from? fh_name is declared as a > "const char *", and initialized in the declaration of fld_hash[]. I'd > thought to reply that sizeof(fh_name) would even be better than a #define, > but sizeof(const char *) doesn't actually make sense. > You are right, I got confused with the names trying to follow the declaration of the variable. > The longest declared fh_name is 4 characters, but I'm not sure of an easy > way to determine this at compile time. I guess one option is to change > the declaration of struct lu_fld_hash to use "const char fh_name[4];" and > then use sizeof(fh_name), but I don't know if that is better than just > declaring a small buffer (8 chars) for this usage. IMHO that is small > enough to fit on the stack, since it is at the top of a very short > callchain (userspace->sys_write->vfs_write->fld_proc_hash_seq_write()) > that just saves the value so the chance of stack overflow is basically nil. > I can implement any of those 2 options. If somebody as a strong preference, let me know, otherwise I'll follow Andreas idea and will redo the patch with a stack name variable of size 8. > > Cheers, Andreas > -- > Andreas Dilger > > Lustre Software Architect > Intel High Performance Data Division > > Thanks for your comment and help. _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel