From c106504309621b662ce6c7cd914718f7045edca4 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 28 Jul 2020 22:21:58 +0000 Subject: searchidx: disable CoW for SQLite and Xapian under btrfs SQLite and Xapian files are written randomly, thus they become fragmented under btrfs with copy-on-write. This leads to noticeable performance problems (and probably ENOSPC) as these files get big. lore/git (v2, <1GB) indexes around 20% faster with this on an ancient SSD. lore/lkml seems to be taking forever and I'll probably cancel it to save wear on my SSD. Unfortunately, disabling CoW also means disabling checksumming (and compression), so we'll be careful to only set the No_COW attribute on regeneratable data. We want to keep CoW (and checksums+compression) on git storage because current ref storage is neither checksummed nor compressed, and git streams pack output. --- MANIFEST | 2 ++ 1 file changed, 2 insertions(+) (limited to 'MANIFEST') diff --git a/MANIFEST b/MANIFEST index f46a0776..d312e305 100644 --- a/MANIFEST +++ b/MANIFEST @@ -156,6 +156,7 @@ lib/PublicInbox/MboxGz.pm lib/PublicInbox/MsgIter.pm lib/PublicInbox/MsgTime.pm lib/PublicInbox/Msgmap.pm +lib/PublicInbox/NDC_PP.pm lib/PublicInbox/NNTP.pm lib/PublicInbox/NNTPD.pm lib/PublicInbox/NNTPdeflate.pm @@ -309,6 +310,7 @@ t/multi-mid.t t/nntp.t t/nntpd-tls.t t/nntpd.t +t/nodatacow.t t/nulsubject.t t/over.t t/plack-2-txt-bodies.eml -- cgit v1.2.3-24-ge0c7