]> Sergey Matveev's repositories - public-inbox.git/commit
rewrite Linux nodatacow use in pure Perl w/o system
authorEric Wong <e@80x24.org>
Sun, 30 Jan 2022 21:49:08 +0000 (21:49 +0000)
committerEric Wong <e@80x24.org>
Mon, 31 Jan 2022 02:04:11 +0000 (02:04 +0000)
commit14fa0abdcc7b6513540e529375e53edd74ce13e8
tree9f0de95629590def3c2dd72df28243faf129014e
parent6beeb75e5ccddf9f4e8eefc62cbe349972f59917
rewrite Linux nodatacow use in pure Perl w/o system

btrfs is Linux-only at the moment (and likely to remain that way
for practical purposes).  So rely on Linux ABI stability and use
the `syscall' and `ioctl' perlops rather than relying on Inline::C.
Inline::C (and gcc||clang) are monstrous dependencies which we
can't expect users to have.

This makes supporting new architectures more difficult, but new
architectures come along rarely and this reduces the burden for
the majority of Linux users on popular architectures (while
still avoiding the distribution of pre-built binaries).

Link: https://public-inbox.org/meta/YbCPWGaJEkV6eWfo@codewreck.org/
14 files changed:
MANIFEST
devel/syscall-list
lib/PublicInbox/IMAPTracker.pm
lib/PublicInbox/LeiMailSync.pm
lib/PublicInbox/MiscIdx.pm
lib/PublicInbox/Msgmap.pm
lib/PublicInbox/NDC_PP.pm [deleted file]
lib/PublicInbox/Over.pm
lib/PublicInbox/SearchIdx.pm
lib/PublicInbox/SharedKV.pm
lib/PublicInbox/Spawn.pm
lib/PublicInbox/Syscall.pm
lib/PublicInbox/Xapcmd.pm
t/nodatacow.t