Subject: Re: lseek() extension for spare files
To: None <>
From: Bill Studenmund <>
List: tech-kern
Date: 09/21/2006 11:19:14
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 21, 2006 at 03:44:20AM +0200, Reinoud Zandijk wrote:
> Dear folks,
> attached is a patch that implements the lseek() extension for sparse file=
> as can be found in Solaris 10. Linux aparently has already=20
> adopted/implented it also.
> It adds the SEEK_DATA and SEEK_HOLE `whence' arguments to lseek(). For a=
> more detailed look see the solaris 10 man page :
> Although its pretty complete and smoothed out it might need some fine=20
> tuning. Note that in this patch no file system has yet implemented sparse=
> area reporting and the genfs implementation, that allmost all use,=20
> implements the basic functionality.

How will we implement the guts of SEEK_DATA and SEEK_HOLE? If we've handed=
the whole VOP off to genfs, we don't have an fs-specific callback.

I think what we should do is have each fs have its own seek routine, which=
calls a genfs routine with the vop info plus a callback to handle finding=
regions. Either that, or to the extent we have genfs-ops, we need another=

Take care,


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.4.3 (NetBSD)