about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdx.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r--lib/PublicInbox/SearchIdx.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 1fc57410..aa8d8ce3 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -125,8 +125,11 @@ sub idx_acquire {
 
                 # don't create empty Xapian directories if we don't need Xapian
                 my $is_shard = defined($self->{shard});
-                if (!$is_shard || ($is_shard && need_xapian($self))) {
+                if (!-d $dir && (!$is_shard ||
+                                ($is_shard && need_xapian($self)))) {
                         File::Path::mkpath($dir);
+                        opendir my $dh, $dir or die "opendir($dir): $!\n";
+                        PublicInbox::Spawn::set_nodatacow(fileno($dh));
                 }
         }
         return unless defined $flag;