On Tue, Aug 5, 2025 at 12:46 AM Panu Matilainen <pmati...@redhat.com> wrote:
>
> On 7/29/25 2:13 AM, Neal Gompa wrote:
> > On Mon, Jul 28, 2025 at 6:30 PM Andrew Lutomirski <l...@mit.edu> wrote:
> >>
> >>> On Jul 24, 2025, at 7:02 PM, Aoife Moloney via devel-announce 
> >>> <devel-annou...@lists.fedoraproject.org> wrote:
> >>>
> >>> Wiki - 
> >>> https://fedoraproject.org/wiki/Changes/Hardlink_identical_files_in_packages_by_default
> >>> Discussion thread -
> >>> https://discussion.fedoraproject.org/t/f43-change-proposal-hardlink-identical-files-in-packages-by-default-self-contained/160769
> >>>
> >>> This is a proposed Change for Fedora Linux.
> >>> This document represents a proposed Change. As part of the Changes
> >>> process, proposals are publicly announced in order to receive
> >>> community feedback. This proposal will only be implemented if approved
> >>> by the Fedora Engineering Steering Committee.
> >>>
> >>> == Summary ==
> >>> A post-build step is added to the package build macros to
> >>> automatically hardlink all identical files under `/usr`. Previously,
> >>> this was done in some packages and now it's done everywhere by
> >>> default.
> >>
> >> Almost every time I encounter a hard link, I think it wants to be a
> >> reflink instead. And this is very much an example of this!
> >>
> >> Hardlinks are footguns.  If you modify them, you get unexpected
> >> results.  (Yes, I know you're not supposed to modify a file that rpm
> >> installed.  People do it anyway.)  If you are writing a tool that
> >> modifies one copy of a pair of files that are actually hardlinks to
> >> each other, you get awkward results.  Even from a filesystem
> >> implementation perspective, hardlinks are kind of gross, and if I were
> >> designing a filesystem from scratch, I would probably not support
> >> them, or at least not as a first-class feature.
> >>
> >> Other than the lack of rpm support, is there any good reason to use
> >> hardlinks instead of reflinks?  Reflinks actually do what one would
> >> want here -- the act like two separate files (which is what the
> >> package expects) but they share storage.
> >>
> >
> > Reflink support has long since been blocked on upstream progress on
> > RPMCoW[1]. I really do wish this was further along, I really love this
> > feature in CentOS Hyperscale.
>
> reflink() does not equal RPMCoW.
>
> RPMCoW is this controversial and complicated thing that involves
> transcoding rpm packages into unverifiable blobs and then reflinks from
> those. It's been explicitly NAK'ed upstream, multiple times now.
>
> There's nothing evil or controversial about reflink as such, but using
> it in rpm context is not straightforward.
>

Transcoding would not be required if the RPM format itself was made up
of reflinkable items. Unless you're open to changing the RPM archive
format, there are not a lot of other options.



-- 
真実はいつも一つ!/ Always, there's only one truth!
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to