The old request stored the result address as an integer, which Go could
not update when the stack moved. Use a typed pointer to prevent stale
addresses and empty lookup results. Keep Go 1.16 compatibility.
PunchHole is a limited and specific version of hole punching. It's an
archive layer operation that only converts unmapped offline extents
into sparse extents. It is intended to be used when restoring sparse
files after the initial creation set the entire file size offline.
The offset and len fields are in units of bytes and must be aligned
to the small (4KiB) block size. All regions of offline extents
covered by the region will be converted into sparse online extents,
including regions that straddle the boundaries of the region. Any
existing sparse extents in the region are ignored.
The data_version must match the inode or EINVAL is returned. The
data_version is not modified by this operation.
scoutfs now adds a new ioctl to get the parent id and some extra
info given an inode within the filesystem. This is less expensive
than the full path resolution for an inode, so can speed up cases
when the parent is all thats needed.