Date: Fri, 2 Sep 2011 11:54:20 -0700 From: mdf@FreeBSD.org To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: Re: svn commit: r225351 - projects/ino64/sys/ufs/ufs Message-ID: <CAMBSHm-%2BC9t2Vnwh5z=c8Tg9VEQHGv0pGoK2t%2Bp6w4G=d4MNqA@mail.gmail.com> In-Reply-To: <201109021852.p82IqH1M011851@svn.freebsd.org> References: <201109021852.p82IqH1M011851@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Is anyone using UFS_EXTATTR_AUTOSTART? I think the code is now correct for the endpoint of the returned dirent's, but it would be nice to have a review and/or someone test the code. Thanks, matthew On Fri, Sep 2, 2011 at 11:52 AM, Matthew D Fleming <mdf@freebsd.org> wrote: > Author: mdf > Date: Fri Sep =A02 18:52:17 2011 > New Revision: 225351 > URL: http://svn.freebsd.org/changeset/base/225351 > > Log: > =A0ufs: Stop mangling dirent in ufs_extattr_iterate_directory. > =A0It's meaningless after switching to new dirent format. > > =A0GSoC r223159. > =A0Code by: Gleb Kurtsou. > > Modified: > =A0projects/ino64/sys/ufs/ufs/ufs_extattr.c > > Modified: projects/ino64/sys/ufs/ufs/ufs_extattr.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 > --- projects/ino64/sys/ufs/ufs/ufs_extattr.c =A0 =A0Fri Sep =A02 18:50:44= 2011 =A0 =A0 =A0 =A0(r225350) > +++ projects/ino64/sys/ufs/ufs/ufs_extattr.c =A0 =A0Fri Sep =A02 18:52:17= 2011 =A0 =A0 =A0 =A0(r225351) > @@ -397,20 +397,8 @@ ufs_extattr_iterate_directory(struct ufs > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (error); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0} > > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* XXXRW: While in UFS, we always get DIR= BLKSIZ returns from > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* the directory code on success, on othe= r file systems this > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* may not be the case. =A0For portabilit= y, we should check the > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* read length on return from ufs_readdir= (). > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*/ > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 edp =3D (struct dirent *)&dirbuf[DIRBLKSIZ]= ; > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 edp =3D (struct dirent *)&dirbuf[DIRBLKSIZ = - auio.uio_resid]; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0for (dp =3D (struct dirent *)dirbuf; dp < = edp; ) { > -#if (BYTE_ORDER =3D=3D LITTLE_ENDIAN) > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 dp->d_type =3D dp->d_namlen= ; > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 dp->d_namlen =3D 0; > -#else > - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 dp->d_type =3D 0; > -#endif > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0if (dp->d_reclen =3D=3D 0) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0break; > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0error =3D ufs_extattr_look= up(dvp, UE_GETDIR_LOCKPARENT, >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAMBSHm-%2BC9t2Vnwh5z=c8Tg9VEQHGv0pGoK2t%2Bp6w4G=d4MNqA>