svn commit: r345244 - head/sys/ufs/ufs
Mark Johnston
markj at freebsd.org
Sun Mar 17 17:59:06 UTC 2019
On Sun, Mar 17, 2019 at 05:34:06PM +0000, Mark Johnston wrote:
> Author: markj
> Date: Sun Mar 17 17:34:06 2019
> New Revision: 345244
> URL: https://svnweb.freebsd.org/changeset/base/345244
>
> Log:
> Optimize lseek(SEEK_DATA) on UFS.
>
> The old implementation, at the VFS layer, would map the entire range of
> logical blocks between the starting offset and the first data block
> following that offset. With large sparse files this is very
> inefficient. The VFS currently doesn't provide an interface to improve
> upon the current implementation in a generic way.
>
> Add ufs_bmap_seekdata(), which uses the obvious algorithm of scanning
> indirect blocks to look for data blocks. Use it instead of
> vn_bmap_seekhole() to implement SEEK_DATA.
>
> Reviewed by: kib, mckusick
> MFC after: 2 weeks
> Sponsored by: The FreeBSD Foundation
> Differential Revision: https://reviews.freebsd.org/D19598
This should have been: https://reviews.freebsd.org/D19599
More information about the svn-src-all
mailing list