From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31A34C43334 for ; Tue, 4 Sep 2018 07:53:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E713820869 for ; Tue, 4 Sep 2018 07:53:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E713820869 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=BitWizard.nl Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726234AbeIDMRo (ORCPT ); Tue, 4 Sep 2018 08:17:44 -0400 Received: from cust-95-128-94-82.breedbanddelft.nl ([95.128.94.82]:41882 "EHLO cust-95-128-94-82.breedbanddelft.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725992AbeIDMRo (ORCPT ); Tue, 4 Sep 2018 08:17:44 -0400 Received: by abra2.bitwizard.nl (Postfix, from userid 1000) id 2C58D13FC78; Tue, 4 Sep 2018 09:53:47 +0200 (CEST) Date: Tue, 4 Sep 2018 09:53:47 +0200 From: Rogier Wolff To: =?utf-8?B?54Sm5pmT5Yas?= Cc: jlayton@redhat.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: POSIX violation by writeback error Message-ID: <20180904075347.GH11854@BitWizard.nl> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: BitWizard B.V. User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 04, 2018 at 02:32:28PM +0800, 焦晓冬 wrote: > Hi, > > After reading several writeback error handling articles from LWN, I > begin to be upset about writeback error handling. > > Jlayton's patch is simple but wonderful idea towards correct error > reporting. It seems one crucial thing is still here to be fixed. Does > anyone have some idea? > > The crucial thing may be that a read() after a successful > open()-write()-close() may return old data. > > That may happen where an async writeback error occurs after close() > and the inode/mapping get evicted before read(). Suppose I have 1Gb of RAM. Suppose I open a file, write 0.5Gb to it and then close it. Then I repeat this 9 times. Now, when writing those files to storage fails, there is 5Gb of data to remember and only 1Gb of RAM. I can choose any part of that 5Gb and try to read it. Please make a suggestion about where we should store that data? In the easy case, where the data easily fits in RAM, you COULD write a solution. But when the hardware fails, the SYSTEM will not be able to follow the posix rules. Roger. -- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 ** ** Delftechpark 26 2628 XH Delft, The Netherlands. KVK: 27239233 ** *-- BitWizard writes Linux device drivers for any device you may have! --* The plan was simple, like my brother-in-law Phil. But unlike Phil, this plan just might work.