On Sat, Mar 09, 2024 at 04:59:49PM -0800, Rick Macklem wrote:
> Hi,
> 
> I would like to compare va_size to va_bytes in vn_generic_copy_file_range(),
> as a heuristic to check for a sparse file (only works for non-compressed
> file systems).
> 
> The call to VOP_GETATTR(invp, ..) was replaced by vn_getsize_locked()
> in vn_generic_copy_file_range().
> 
> To get va_bytes I can either modify the code to again use VOP_GETATTR()
> or I could add an additional return argument to vn_getsize_locked().
> Since vn_getsize_locked() is descibed as a first step towards not using
> VOP_GETATTR() it sounds like adding an agument to vn_getsize_locked()
> is not the preferred alternative, but I thought I'd ask.

For me it sounds as very specific usage.  You might be better served by
directly using VOP_GETATTR() then IMO.

Reply via email to