X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FNDC_PP.pm;h=10a7ee2a1f0fb14edb8572b43c6e54d1fbb04d8d;hp=0d20030d512903896dd2266fb73e2c8a4bfd369a;hb=683e5fbbfef867ff04b376b3d5230976004a6c7a;hpb=6e98887b3d539dd07c9d49e3334e48d720fc1e31 diff --git a/lib/PublicInbox/NDC_PP.pm b/lib/PublicInbox/NDC_PP.pm index 0d20030d..10a7ee2a 100644 --- a/lib/PublicInbox/NDC_PP.pm +++ b/lib/PublicInbox/NDC_PP.pm @@ -6,10 +6,8 @@ package PublicInbox::NDC_PP; use strict; use v5.10.1; -sub set_nodatacow ($) { - my ($fd) = @_; - return if $^O ne 'linux'; - defined(my $path = readlink("/proc/self/fd/$fd")) or return; +sub nodatacow_dir ($) { + my ($path) = @_; open my $mh, '<', '/proc/self/mounts' or return; for (grep(/ btrfs /, <$mh>)) { my (undef, $mnt_path, $type) = split(/ /); @@ -26,4 +24,11 @@ sub set_nodatacow ($) { } } +sub nodatacow_fd ($) { + my ($fd) = @_; + return if $^O ne 'linux'; + defined(my $path = readlink("/proc/self/fd/$fd")) or return; + nodatacow_dir($path); +} + 1;