From 683e5fbbfef867ff04b376b3d5230976004a6c7a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 8 Aug 2020 04:59:48 +0000 Subject: support setting No_COW on Perl <5.22 fileno(DIRHANDLE) only works on Perl 5.22+, so we need to use dirfd(3) ourselves from Inline::C (or rely on chattr(1) being installed). While we're at it, rename `set_nodatacow' to `nodatacow_fd' for consistency with `nodatacow_dir'. --- lib/PublicInbox/Msgmap.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/PublicInbox/Msgmap.pm') diff --git a/lib/PublicInbox/Msgmap.pm b/lib/PublicInbox/Msgmap.pm index eee8d6ca..e7f7e2c9 100644 --- a/lib/PublicInbox/Msgmap.pm +++ b/lib/PublicInbox/Msgmap.pm @@ -51,7 +51,7 @@ sub new_file { sub tmp_clone { my ($self, $dir) = @_; my ($fh, $fn) = tempfile('msgmap-XXXXXXXX', EXLOCK => 0, DIR => $dir); - PublicInbox::Spawn::set_nodatacow(fileno($fh)); + PublicInbox::Spawn::nodatacow_fd(fileno($fh)); my $tmp; if ($self->{dbh}->can('sqlite_backup_to_dbh')) { $tmp = ref($self)->new_file($fn, 2); -- cgit v1.2.3-24-ge0c7