Preserve file permissions when using reflinks on Linux (#18187)
Fixes an regression from #18117 where executable permissions were not
preserved on reflink. On Linux, the `FICLONE` ioctl only clones data
blocks without preserving file metadata, so permissions must be copied
separately. On macOS, `clonefile` already preserves permissions.
This appears to be a well known issue:
- https://github.com/pnpm/pnpm/issues/8546
-
https://github.com/morelj/reflink/blob/53408edf3bf3c5090b1146923f72066c7f6e9200/cloneflags.go#L6-L22
- https://github.com/python/cpython/issues/81338
Closes https://github.com/astral-sh/uv/issues/18181