Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j1Qp9-000672-3F for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Feb 2020 08:23:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j1Qp5-0006Sa-Ee for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Feb 2020 08:23:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j1Qp5-0006ST-5a for pgsql-hackers@lists.postgresql.org; Tue, 11 Feb 2020 08:23:11 +0000 Received: from [64.147.123.21] (helo=wout5-smtp.messagingengine.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j1Qp2-0003x8-JS for pgsql-hackers@postgresql.org; Tue, 11 Feb 2020 08:23:10 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 792045BD for ; Tue, 11 Feb 2020 03:22:56 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Tue, 11 Feb 2020 03:22:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=pAFhcpyp4YUrzpaHDHhHidah2aCmW L1fkybtpkJkSr4=; b=JrDZbeiNNkp7RCrCqsFtLBDjd31utlb417ELEIAWXF8br r5f8wlj/cUr6t33R+zturp2pCrlMkaAu/GXOZ/h3/AwLKm3njRzKs0mnWs0qO2jR a7xKcTjZRsi43fjBhKf42pyo0ZmeAR1eFyip63QXsRuXudQqkAzuXM6iqW/HZgZv g517zUA3gqRYvUUbW+8vjEK2q1pllsLHNo+LrLvZaBVoi6SXRpRvJL+lLPrgyw3R fPVH4eQoAcOIcfx2+dhBtw+WzaB/AL7zrhkpQK9UpTITOtZMcNEnfRo817Kq1yKz fRRmGRZuMYU10eWaMZ5LVeZU/1HVHJdgsBSHphnhA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedriedvgdduudekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhuffvohfkffgfgggtsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvdhnughquhgrughrrghnthdrtghomheqnecuffhomhgrihhnpe hpohhsthhgrhgvshhqlhdrohhrghdpvdhnughquhgrughrrghnthdrtghomhenucfkphep leefrddvgedvrddvheehrdduuddvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqhhurggu rhgrnhhtrdgtohhm X-ME-Proxy: Received: from april.pezone.net (p5df2ff70.dip0.t-ipconnect.de [93.242.255.112]) by mail.messagingengine.com (Postfix) with ESMTPA id 55D34328005E for ; Tue, 11 Feb 2020 03:22:55 -0500 (EST) From: Peter Eisentraut Subject: client-side fsync() error handling To: pgsql-hackers Organization: 2ndQuadrant Message-ID: Date: Tue, 11 Feb 2020 09:22:54 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------31DB9E23B96A7D0D70511763" Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 64.147.123.21 (deferred) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------31DB9E23B96A7D0D70511763 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Continuing the discussion from [0], there are still a number of fsync() calls in client programs that are unchecked or where errors are treated non-fatally. Digging around through the call stack, I think changing fsync_fname() to just call exit(1) on errors instead of proceeding would address most of that. This affects (at least) initdb, pg_basebackup, pg_checksums, pg_dump, pg_dumpall, and pg_rewind. Thoughts? [0]: https://www.postgresql.org/message-id/flat/9b49fe44-8f3e-eca9-5914-29e9e99030bf%402ndquadrant.com -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------31DB9E23B96A7D0D70511763 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Change-client-side-fsync_fname-to-report-errors-fata.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Change-client-side-fsync_fname-to-report-errors-fata.pa"; filename*1="tch" RnJvbSBkZmUyMTQwZDM0ZDNjNTBiMjkwODU1NmM0NjI3ZDc3ZDAwOWU0ODdmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAxMSBGZWIgMjAyMCAwOTowNzo1OSArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIENoYW5nZSBjbGllbnQtc2lkZSBmc3luY19mbmFtZSgpIHRvIHJlcG9ydCBl cnJvcnMgZmF0YWxseQoKR2l2ZW4gYWxsIHdlIGhhdmUgbGVhcm5lZCBhYm91dCBmc3luYygp IGVycm9yIGhhbmRsaW5nIGluIHRoZSBsYXN0IGZldwp5ZWFycywgcmVwb3J0aW5nIGFuIGZz eW5jKCkgZXJyb3Igbm9uLWZhdGFsbHkgaXMgbm90IHVzZWZ1bCwKdW5sZXNzIHlvdSBkb24n dCBjYXJlIG11Y2ggYWJvdXQgdGhlIGZpbGUsIGluIHdoaWNoIGNhc2UgeW91IHByb2JhYmx5 CmRvbid0IG5lZWQgdG8gdXNlIGZzeW5jKCkgaW4gdGhlIGZpcnN0IHBsYWNlLgoKQ2hhbmdl IGZzeW5jX2ZuYW1lKCkgdG8gZXhpdCgxKSBvbiBmc3luYygpIGVycm9ycyBvdGhlciB0aGFu IHRob3NlCnRoYXQgd2Ugc3BlY2lmaWNhbGx5IGNob3NlIHRvIGlnbm9yZS4KClRoaXMgYWZm ZWN0cyBpbml0ZGIsIHBnX2Jhc2ViYWNrdXAsIHBnX2NoZWNrc3VtcywgcGdfZHVtcCwgcGdf ZHVtcGFsbCwKYW5kIHBnX3Jld2luZC4KLS0tCiBzcmMvY29tbW9uL2ZpbGVfdXRpbHMuYyB8 IDEwICsrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9maWxlX3V0aWxzLmMgYi9zcmMv Y29tbW9uL2ZpbGVfdXRpbHMuYwppbmRleCA0MTNmZTRlZWIxLi4wNzg5ODBhOTU0IDEwMDY0 NAotLS0gYS9zcmMvY29tbW9uL2ZpbGVfdXRpbHMuYworKysgYi9zcmMvY29tbW9uL2ZpbGVf dXRpbHMuYwpAQCAtNTEsOCArNTEsNiBAQCBzdGF0aWMgdm9pZCB3YWxrZGlyKGNvbnN0IGNo YXIgKnBhdGgsCiAgKiBmc3luY2luZywgYW5kIG1pZ2h0IG5vdCBoYXZlIHByaXZpbGVnZXMg dG8gd3JpdGUgYXQgYWxsLgogICoKICAqIHNlcnZlclZlcnNpb24gaW5kaWNhdGVzIHRoZSB2 ZXJzaW9uIG9mIHRoZSBzZXJ2ZXIgdG8gYmUgZnN5bmMnZC4KLSAqCi0gKiBFcnJvcnMgYXJl IHJlcG9ydGVkIGJ1dCBub3QgY29uc2lkZXJlZCBmYXRhbC4KICAqLwogdm9pZAogZnN5bmNf cGdkYXRhKGNvbnN0IGNoYXIgKnBnX2RhdGEsCkBAIC0yNTAsOCArMjQ4LDggQEAgcHJlX3N5 bmNfZm5hbWUoY29uc3QgY2hhciAqZm5hbWUsIGJvb2wgaXNkaXIpCiAgKiBmc3luY19mbmFt ZSAtLSBUcnkgdG8gZnN5bmMgYSBmaWxlIG9yIGRpcmVjdG9yeQogICoKICAqIElnbm9yZXMg ZXJyb3JzIHRyeWluZyB0byBvcGVuIHVucmVhZGFibGUgZmlsZXMsIG9yIHRyeWluZyB0byBm c3luYwotICogZGlyZWN0b3JpZXMgb24gc3lzdGVtcyB3aGVyZSB0aGF0IGlzbid0IGFsbG93 ZWQvcmVxdWlyZWQuICBSZXBvcnRzCi0gKiBvdGhlciBlcnJvcnMgbm9uLWZhdGFsbHkuCisg KiBkaXJlY3RvcmllcyBvbiBzeXN0ZW1zIHdoZXJlIHRoYXQgaXNuJ3QgYWxsb3dlZC9yZXF1 aXJlZC4gIEFsbCBvdGhlciBlcnJvcnMKKyAqIGFyZSBmYXRhbC4KICAqLwogaW50CiBmc3lu Y19mbmFtZShjb25zdCBjaGFyICpmbmFtZSwgYm9vbCBpc2RpcikKQEAgLTI5NCw5ICsyOTIs OSBAQCBmc3luY19mbmFtZShjb25zdCBjaGFyICpmbmFtZSwgYm9vbCBpc2RpcikKIAkgKi8K IAlpZiAocmV0dXJuY29kZSAhPSAwICYmICEoaXNkaXIgJiYgKGVycm5vID09IEVCQURGIHx8 IGVycm5vID09IEVJTlZBTCkpKQogCXsKLQkJcGdfbG9nX2Vycm9yKCJjb3VsZCBub3QgZnN5 bmMgZmlsZSBcIiVzXCI6ICVtIiwgZm5hbWUpOworCQlwZ19sb2dfZmF0YWwoImNvdWxkIG5v dCBmc3luYyBmaWxlIFwiJXNcIjogJW0iLCBmbmFtZSk7CiAJCSh2b2lkKSBjbG9zZShmZCk7 Ci0JCXJldHVybiAtMTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOwogCX0KIAogCSh2b2lkKSBj bG9zZShmZCk7Ci0tIAoyLjI1LjAKCg== --------------31DB9E23B96A7D0D70511763--