user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] msgmap: disable CoW for tmp_clone, too
@ 2020-07-29 21:25 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2020-07-29 21:25 UTC (permalink / raw)
  To: meta

The temporary clone starts as large as the full msgmap
and deletes will write to it randomly.  So ensure it
doesn't get fragmented and slower as time goes on.
 lib/PublicInbox/ | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/PublicInbox/ b/lib/PublicInbox/
index 51b6a68c..c85e7796 100644
--- a/lib/PublicInbox/
+++ b/lib/PublicInbox/
@@ -14,6 +14,7 @@ use DBI;
 use DBD::SQLite;
 use File::Temp qw(tempfile);
 use PublicInbox::Over;
+use PublicInbox::Spawn;
 sub new {
 	my ($class, $git_dir, $writable) = @_;
@@ -50,6 +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));
 	my $tmp;
 	if ($self->{dbh}->can('sqlite_backup_to_dbh')) {
 		$tmp = ref($self)->new_file($fn, 2);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-07-29 21:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-29 21:25 [PATCH] msgmap: disable CoW for tmp_clone, too Eric Wong

user/dev discussion of public-inbox itself

This inbox may be cloned and mirrored by anyone:

	git clone --mirror
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 meta meta/ \
	public-inbox-index meta

Example config snippet for mirrors.
Newsgroups are available over NNTP:
 note: .onion URLs require Tor:

code repositories for project(s) associated with this inbox:

AGPL code for this site: git clone