Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Apr 2016 12:18:09 -0700
From:      "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
To:        Alan Somers <asomers@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r298420 - head/sys/geom
Message-ID:  <D9618B1D-7E3A-474B-A073-82C05D246930@gmail.com>
In-Reply-To: <CAOtMX2gBGnuLKRxefreCsSvjRr8RzZND7S4%2BxWA0f7AEB_ZziQ@mail.gmail.com>
References:  <201604211643.u3LGhFpR057982@repo.freebsd.org> <CAGHfRMCj5zQUHddyoY8Vn2qxJyjV7sUHYDK%2B0Jg2SCCiFX6_Sw@mail.gmail.com> <CAGHfRMBm5RtfC8qk17snHvzEDchh0miizWOqR1srH_cFt7rb9Q@mail.gmail.com> <CAOtMX2gBGnuLKRxefreCsSvjRr8RzZND7S4%2BxWA0f7AEB_ZziQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Apr 21, 2016, at 10:26, Alan Somers <asomers@freebsd.org> wrote:
>=20
>=20
>=20
> On Thu, Apr 21, 2016 at 11:09 AM, Ngie Cooper <yaneurabeya@gmail.com> =
wrote:
> On Thu, Apr 21, 2016 at 10:08 AM, Ngie Cooper <yaneurabeya@gmail.com> =
wrote:
> > On Thu, Apr 21, 2016 at 9:43 AM, Alan Somers <asomers@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
> >> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
> >> --- 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 =3D dp->d_geom;
> >>         if (gp !=3D NULL)
> >>                 LIST_FOREACH(pp, &gp->provider, provider)
> >>                         (void)g_attr_changed(pp, attr, flag);
> >> +       snprintf(devnamebuf, 128, "devname=3D%s%d", dp->d_name, =
dp->d_unit);
> >
> > Why not sizeof(devnamebuf) ?
>=20
> Also: this doesn't NUL terminate devnamebuf; it really should
> (otherwise, boom... crash in geom)...
>=20
> 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..=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D9618B1D-7E3A-474B-A073-82C05D246930>