Date: Tue, 3 Mar 2009 13:10:25 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r189302 - head/sys/fs/udf Message-ID: <200903031310.n23DAPMn011598@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Tue Mar 3 13:10:25 2009 New Revision: 189302 URL: http://svn.freebsd.org/changeset/base/189302 Log: udf_readdir: do not advance offset if entry can not be uio-ed Previosly readdir missed some directory entries because there was no space for them in current uio but directory stream offset was advanced nevertheless. jhb has discoved the issue and provided a test-case. Reviewed by: bde Approved by: jhb (mentor) Modified: head/sys/fs/udf/udf_vnops.c Modified: head/sys/fs/udf/udf_vnops.c ============================================================================== --- head/sys/fs/udf/udf_vnops.c Tue Mar 3 11:57:29 2009 (r189301) +++ head/sys/fs/udf/udf_vnops.c Tue Mar 3 13:10:25 2009 (r189302) @@ -859,11 +859,11 @@ udf_readdir(struct vop_readdir_args *a) } if (error) break; + uio->uio_offset = ds->offset + ds->off; } /* tell the calling layer whether we need to be called again */ *a->a_eofflag = uiodir.eofflag; - uio->uio_offset = ds->offset + ds->off; if (error < 0) error = 0;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903031310.n23DAPMn011598>