On Fri, Dec 11, 2015 at 10:05:14AM -0700, Bob Beck wrote:
>
>
>
> On Fri, Dec 11, 2015 at 01:09:30AM -0500, Michael McConville wrote:
> > Here's the PR:
> >
> > https://gnats.netbsd.org/50381
> >
> > And the commit:
> >
> > https://marc.info/?l=netbsd-source-changes&m=144694603617544&w=2
> >
> > We have very few local changes to tmpfs and we share the
> > KASSERT(de->td_node == NULL), so I think this applies to us.
> >
> > Thoughts? ok?
> >
> >
> > Index: sys/tmpfs/tmpfs_subr.c
> > ===================================================================
> > RCS file: /cvsroot/src/sys/fs/tmpfs/tmpfs_subr.c,v
> > retrieving revision 1.96.4.1
> > retrieving revision 1.96.4.1.2.1
> > diff -u -p -r1.96.4.1 -r1.96.4.1.2.1
> > --- sys/fs/tmpfs/tmpfs_subr.c 22 Dec 2014 02:05:08 -0000 1.96.4.1
> > +++ sys/fs/tmpfs/tmpfs_subr.c 8 Nov 2015 01:27:10 -0000
> > 1.96.4.1.2.1
> > @@ -451,6 +451,7 @@ tmpfs_alloc_dirent(tmpfs_mount_t *tmp, c
> > nde->td_namelen = len;
> > memcpy(nde->td_name, name, len);
> > nde->td_seq = TMPFS_DIRSEQ_NONE;
> > + nde->td_node = NULL; /* for asserts */
> >
> > *de = nde;
> > return 0;
> >
>
> Well, that diff won't apply directly, and in my opinion this is a safter way,
> considering
> the tmpfs code, to accomplish the same thing.
>
> Index: tmpfs/tmpfs_mem.c
> ===================================================================
> RCS file: /cvs/src/sys/tmpfs/tmpfs_mem.c,v
> retrieving revision 1.7
> diff -u -p -u -p -r1.7 tmpfs_mem.c
> --- tmpfs/tmpfs_mem.c 14 Mar 2015 03:38:52 -0000 1.7
> +++ tmpfs/tmpfs_mem.c 11 Dec 2015 17:01:06 -0000
> @@ -151,7 +151,7 @@ tmpfs_dirent_get(struct tmpfs_mount *mp)
> if (!tmpfs_mem_incr(mp, sizeof(struct tmpfs_dirent))) {
> return NULL;
> }
> - return pool_get(&tmpfs_dirent_pool, PR_WAITOK);
> + return pool_get(&tmpfs_dirent_pool, PR_ZERO|PR_WAITOK);
> }
Looks good to me. Don't see any point in any comment or extra code.