Skip site navigation (1)Skip section navigation (2)
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>