On Mon, 03 Oct 2011, Reinoud Zandijk wrote:
On Mon, Oct 03, 2011 at 08:33:06AM +0200, Alan Barrett wrote:
I think that it would be better to implement the fallback
behaviour in the vfs layer rather than in the lseek syscall.
I tried that before and it was in my origional patch. I changed
the VOP_SEEK() to accept the other two `whence' argument values.
VOP_SEEK()'s prototype had to be extended resulting in severe
compatibility issues with puffs/rump/(re)fuse etc. resulting in
a HUGE patchset. Also, external maintained code like ZFS had to
be changed.
Your original patch did that in VOP_SEEK, yes. I think that was a
bad idea, and that's not what I am suggesting.
When I suggested "implement the fallback behaviour in the vfs
layer", I meant in the vfs layer's handling of the new FIOSEEKHOLE
and FIOSEEKDATA ioctls. This would mean that users of the new
lseek flags, and users of the new ioctls, would both get the
fallback behaviour that, if the underlying file system doesn't
know better, a file appears to have a single data region followed
by a hole after EOF.
Does this answer your question?
Not really, but I see that my suggesiton was unclear. I hope
it's more clear now.
--apb (Alan Barrett)