Date: Sun, 17 Mar 2019 13:58:59 -0400 From: Mark Johnston <markj@freebsd.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r345244 - head/sys/ufs/ufs Message-ID: <20190317175858.GA16331@raichu> In-Reply-To: <201903171734.x2HHY6FM004905@repo.freebsd.org> References: <201903171734.x2HHY6FM004905@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190317175858.GA16331>