From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-users-return-23679-ml=inbox.vuxu.org@zsh.org X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id bbbdeba2 for ; Mon, 24 Sep 2018 03:05:48 +0000 (UTC) Received: (qmail 14567 invoked by alias); 24 Sep 2018 03:04:57 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23679 Received: (qmail 22952 invoked by uid 1010); 24 Sep 2018 03:04:57 -0000 X-Qmail-Scanner-Diagnostics: from mail-pf1-f172.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.210.172):SA:0(-1.6/5.0):. Processed in 4.488322 secs); 24 Sep 2018 03:04:57 -0000 X-Envelope-From: lilydjwg@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:disposition-notification-to :user-agent; bh=19pRiBdz8nojnvaaoSC9zCQxzQ40vMNCweQuhKBC128=; b=V8rLjsVZXsieMuqPLozku13jzX6ViVnWHaHtK8uqcXTKWM7kbKnciXXmutC3t2YILd cP+u+Vu9RJhwMZ16JdK7EoaXgppRgjBO3c9gjEfjeSmN1424EUv1sVQhrbz6Wrfz5B9A HSbXlzkpVtvWvcEDUpmxxOhhskXOVRqhx4DaEXmm2MUydwt182GMxJfyZh2t8PPjy4kR MwqIC4Tuc+waVo+vY2Btl56TCdOfdv7WzkqNWr02kIr0X0MN4ZtmaPwTZJwHCIXFtlTp RRJm6FDAodlmqB/DK0oM1bE5++LR40yNuAK9nCsFe8zTHoaJK/S2B7M1ijGG0rJvkupu CHPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to :disposition-notification-to:user-agent; bh=19pRiBdz8nojnvaaoSC9zCQxzQ40vMNCweQuhKBC128=; b=Yjv2hJ/+fH9Df2BASUXpTv0Igp7qv9RXO+YTM9/dMrjg/RK0lmFbz+AKftNP6HkDNz EtTEpmVNOxvVuKV3rCumgV8o3AFALJIHOrcl/fyiD46jcZrMOEwbnHmK4ch+eVswhapv BkWAfQ+l+3zfyqfBaer9YuhLPvlvXi49If4/Cezs5n+qIDm9XeNub4Wo/RBnAQBKUOcW LrIzYZxzXUqXJBagr5ZdeOTcRkCTiYGC7/asle5DcVRjLrBw2rjsDZdvvqEYizqcYOXV TeTGYwMJiN/wDofrhuj2fxnmoSxxHYt4gjCkLmtIDRYWwyDtJvxgEEkL/GH3+WKYU4Nf Ut5A== X-Gm-Message-State: ABuFfoh1Egw9N30Rh0/aDQPBoMQ1XU9ETBj/Z0lXmXQlfAWPdfA4nIq+ PZ1HpjnNP6B+zz9+GslvqsVDwesjzAY= X-Google-Smtp-Source: ACcGV60euCZpekCBTqvpUt06XmwJF624eK8DY6btShvbSIupYNrDo6GLb4A0+/BeSaOpytO6q7SPMw== X-Received: by 2002:a65:46cd:: with SMTP id n13-v6mr7531532pgr.22.1537758290219; Sun, 23 Sep 2018 20:04:50 -0700 (PDT) Date: Mon, 24 Sep 2018 11:04:15 +0800 From: lilydjwg To: Mikael Magnusson Cc: Daniel Shahaf , Zsh Users Subject: Re: No fsync on history file? I lost my history Message-ID: <20180924030415.GB25143@lilyforest.localdomain> References: <20180923085246.GA19251@lilyforest.localdomain> <1537709747.103981.1517680056.72C7A43E@webmail.messagingengine.com> <20180923142255.GA4931@lilyforest.localdomain> <1537714011.118073.1517716184.0B2E8824@webmail.messagingengine.com> <20180923152546.GA6201@lilyforest.localdomain> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="qMm9M+Fa2AknHoGS" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) --qMm9M+Fa2AknHoGS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Sep 23, 2018 at 08:02:44PM +0200, Mikael Magnusson wrote: > Please only do this for the tmpfile case, or interactive usage is > going to be unbearable under load with incappendhistory. Yes, indeeded. Updated. -- Best regards, lilydjwg --qMm9M+Fa2AknHoGS Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename="0001-Call-fsync-after-writing-out-new-histfile.patch" >From 19cfeacfb8338f06577ac8f1d546f5b196903d4c Mon Sep 17 00:00:00 2001 From: lilydjwg Date: Sun, 23 Sep 2018 22:12:56 +0800 Subject: [PATCH] Call fsync after writing out new histfile to ensure the data is on disk before the rename in case of a system crash. --- Src/hist.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Src/hist.c b/Src/hist.c index dbdc1e4e5..64e5b4766 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -2933,6 +2933,12 @@ savehistfile(char *fn, int err, int writeflags) lasthist.text = ztrdup(start); } } + if (tmpfile) { + if (ret >= 0) + ret = fflush(out); /* need to flush before fsync */ + if (ret >= 0 && fsync(fileno(out)) < 0) + ret = -1; + } if (fclose(out) < 0 && ret >= 0) ret = -1; if (ret >= 0) { -- 2.19.0 --qMm9M+Fa2AknHoGS--