MFC r253651, r253652, r253657;
ext2fs: Don't assume that on-disk format of a directory is the same
as in <sys/dirent.h>
ext2_readdir() has always been very fs specific and different
with respect to its ufs_ counterpart. Recent changes from UFS
have made it possible to share more closely the implementation.
Always start parsing at DIRBLKSIZ aligned offset, skip first entries if
uio_offset is not DIRBLKSIZ aligned. Return EINVAL if buffer is too
small for single entry.
Preallocate buffer for cookies.
Skip entries with zero inode number.
Reviewed by: gleb, Zheng Liu
git-svn-id: svn://svn.freebsd.org/base/stable/9@254801
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f