Date: Fri, 2 Sep 2011 18:52:17 +0000 (UTC) From: Matthew D Fleming <mdf@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r225351 - projects/ino64/sys/ufs/ufs Message-ID: <201109021852.p82IqH1M011851@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mdf Date: Fri Sep 2 18:52:17 2011 New Revision: 225351 URL: http://svn.freebsd.org/changeset/base/225351 Log: ufs: Stop mangling dirent in ufs_extattr_iterate_directory. It's meaningless after switching to new dirent format. GSoC r223159. Code by: Gleb Kurtsou. Modified: projects/ino64/sys/ufs/ufs/ufs_extattr.c Modified: projects/ino64/sys/ufs/ufs/ufs_extattr.c ============================================================================== --- projects/ino64/sys/ufs/ufs/ufs_extattr.c Fri Sep 2 18:50:44 2011 (r225350) +++ projects/ino64/sys/ufs/ufs/ufs_extattr.c Fri Sep 2 18:52:17 2011 (r225351) @@ -397,20 +397,8 @@ ufs_extattr_iterate_directory(struct ufs return (error); } - /* - * XXXRW: While in UFS, we always get DIRBLKSIZ returns from - * the directory code on success, on other file systems this - * may not be the case. For portability, we should check the - * read length on return from ufs_readdir(). - */ - edp = (struct dirent *)&dirbuf[DIRBLKSIZ]; + edp = (struct dirent *)&dirbuf[DIRBLKSIZ - auio.uio_resid]; for (dp = (struct dirent *)dirbuf; dp < edp; ) { -#if (BYTE_ORDER == LITTLE_ENDIAN) - dp->d_type = dp->d_namlen; - dp->d_namlen = 0; -#else - dp->d_type = 0; -#endif if (dp->d_reclen == 0) break; error = ufs_extattr_lookup(dvp, UE_GETDIR_LOCKPARENT,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109021852.p82IqH1M011851>