> On Apr 21, 2016, at 10:26, Alan Somers <asom...@freebsd.org> wrote: > > > > On Thu, Apr 21, 2016 at 11:09 AM, Ngie Cooper <yaneurab...@gmail.com> wrote: > On Thu, Apr 21, 2016 at 10:08 AM, Ngie Cooper <yaneurab...@gmail.com> wrote: > > On Thu, Apr 21, 2016 at 9:43 AM, Alan Somers <asom...@freebsd.org> wrote: > >> Author: asomers > >> Date: Thu Apr 21 16:43:15 2016 > >> New Revision: 298420 > >> URL: https://svnweb.freebsd.org/changeset/base/298420 > >> > >> Log: > >> Notify userspace listeners when geom disk attributes have changed > >> > >> sys/geom/geom_disk.c: > >> disk_attr_changed(): Generate a devctl event of type GEOM:<attr> > >> for > >> every call. > >> > >> MFC after: 4 weeks > >> Sponsored by: Spectra Logic Corp > >> Differential Revision: https://reviews.freebsd.org/D5952 > >> > >> Modified: > >> head/sys/geom/geom_disk.c > >> > >> Modified: head/sys/geom/geom_disk.c > >> ============================================================================== > >> --- head/sys/geom/geom_disk.c Thu Apr 21 16:33:42 2016 (r298419) > >> +++ head/sys/geom/geom_disk.c Thu Apr 21 16:43:15 2016 (r298420) > >> @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); > >> #include <sys/kernel.h> > >> #include <sys/sysctl.h> > >> #include <sys/bio.h> > >> +#include <sys/bus.h> > >> #include <sys/ctype.h> > >> #include <sys/fcntl.h> > >> #include <sys/malloc.h> > >> @@ -839,11 +840,14 @@ disk_attr_changed(struct disk *dp, const > >> { > >> struct g_geom *gp; > >> struct g_provider *pp; > >> + char devnamebuf[128]; > > > > Why 128? Also, why not sbuf? > > > >> gp = dp->d_geom; > >> if (gp != NULL) > >> LIST_FOREACH(pp, &gp->provider, provider) > >> (void)g_attr_changed(pp, attr, flag); > >> + snprintf(devnamebuf, 128, "devname=%s%d", dp->d_name, dp->d_unit); > > > > Why not sizeof(devnamebuf) ? > > Also: this doesn't NUL terminate devnamebuf; it really should > (otherwise, boom... crash in geom)... > > snprintf(3) says "The output is always null-terminated." and it looks like > the kernel version does the same thing at subr_prf.c:560. Am I missing > something?
Derp. Forgot that NUL termination occurs with snprintf as long as the buffer size is specified and is correct. Please ignore this part.. _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"