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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 351C1C47DDB for ; Fri, 26 Jan 2024 16:50:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB3D16B0085; Fri, 26 Jan 2024 11:50:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A63DF6B0095; Fri, 26 Jan 2024 11:50:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 92B956B0096; Fri, 26 Jan 2024 11:50:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 80FEF6B0085 for ; Fri, 26 Jan 2024 11:50:47 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 48F91804E1 for ; Fri, 26 Jan 2024 16:50:47 +0000 (UTC) X-FDA: 81722051334.17.FF92E51 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf11.hostedemail.com (Postfix) with ESMTP id A00FA4000F for ; Fri, 26 Jan 2024 16:50:45 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=sdbjJzjv; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf11.hostedemail.com: domain of djwong@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=djwong@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706287845; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=J/wojG1pdpgf2MzapH1EEyMy7zfLRP5nzYCLjbaRW2Q=; b=MN/XdN34YhpSKgmEGGSxLyGgCAgsV3i0GlvLncxxqnKgHklcEvCP4sp2cuHQyKNyyuAaFo F+t/Aa7w0im0cinvgFqfHCYmKQ0jNnhQy5G4dfiZHCxFp0IvyoL9eH3Nt3d6ay1lItFd8H KqM1SrZHwFA0MnlbzK4+J/LUBFL2kWY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=sdbjJzjv; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf11.hostedemail.com: domain of djwong@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=djwong@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706287845; a=rsa-sha256; cv=none; b=Yr/noX0ZYUnMFSRcJuQc/hWnnKHPhbWsWyih383Id8czhKYP50QAwDUE5S5HxemIKQANCx FfD4PX0182iO9CSWwPXF4EUaxWPN7bhUZlY4Dg4pZQ236696HTLru+VC2qi6JPy80AacLx kuuY3oHKx8Y/HcNlwssE46tkKzP15RM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id C871762554; Fri, 26 Jan 2024 16:50:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70AA0C433F1; Fri, 26 Jan 2024 16:50:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706287844; bh=BfRIfATJHiovJMXY+wQ8jZcQr7Vj+GqHwgZRvVisOfo=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sdbjJzjvb9f2B3QKApxhUDOtKi48uRzli2JgXQ24RjV3wSPrP3fRL7HkuOeSyAUXW E7v4K/tdSvVLBBhNBp73xV4s7M6E3LIkVpwpk3lo7iPVxubdtCqBzQh0YpRAoKGcB4 D2gNjfRJELacB/uLV7lsvCtNxxMbPnko+E6itUs7vY17J6dppGBVKL8+6CO/c8mpEI zdHtD9uQZDl67saoRhmvb/RdGcr6NqKFqdWUPK2MPCEPbgve/ykYNQvSEu3FcxiCP9 cePyZ4gXRos+yBPZugmL4hbXwywGWPWLIykOzOgOKNuFNd1D5cgYtUaJnHkdc922oU b8HQwBPnCkIAw== Date: Fri, 26 Jan 2024 08:50:43 -0800 From: "Darrick J. Wong" To: Matthew Wilcox Cc: Christoph Hellwig , Chandan Babu R , Hugh Dickins , Andrew Morton , linux-xfs@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 16/21] xfs: improve detection of lost xfile contents Message-ID: <20240126165043.GC1371843@frogsfrogsfrogs> References: <20240126132903.2700077-1-hch@lst.de> <20240126132903.2700077-17-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: A00FA4000F X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 8r8syf1cxpx9qwy75bah5thea9ehn65t X-HE-Tag: 1706287845-953044 X-HE-Meta: U2FsdGVkX1/FgY5/9V7K6wMy7Gb6GoqVZEoqJva7UVBKauG/ACSIp8IMY2pK0UMfkx5+oNhOoQMsgm4CKrDAsEYgb4PzzWVr8vL3JRRNtK8eCei/ED4o+n5HA05VkfZ4+IZN1z3wFSYTDQzPsQe7Xvs6zxnNjvkfkiLL2VX7U4bEWMDDmkEGKJc6DU1/41CMU4hd1WkTmptMAJfcPiZjvpvZDo6YvaSWUn53i7MHWimE8dShaqTWqafDshnqhQluwm21Udujgv0aUPtkROy9oXp6mtqV56fNVbUtxDL8XBQk7r/OvWJXOLhISVqcvaBiJSLQAM7nXpyfO0sXHiEkhZ5xwjuOHgOhQ4FEQDf+CHfH7a/CWwkpS2DkypxsEv3RfY3w2X3fKI8qdiN8R/dKR44G/wK/j2VxptmVHcvDXZ/E8dEizgSYDXBHlg2iNu5aE2JLQ6380OaNAkaZ3gpHUCdKZQ/y27rgZao7yYQfNwyNiqG3W3hUnoe9ZSiHHX0m0dlwnikpZHMrn+but/+QqlwukczWo3oFurBhxubUNTxrTs8IvCzTtlfXJ6ehW7kEuDimwFYJ84GjKz9x3zMBjo7jUNau7Tfb3NEskLedG3RNn3NRnSYVWOZaQ0lE0DIddzIIk4ob4oExrr/Rm+rqTsf1Hv9Rn1juiurbf7NrV1j6mUNBQg8hWl/q4+vsdW9j+/Tl9UV1tJ6V2WZGTtC9rp0YAJjy3Yq4ZyDVu4upfy7yXgmgzFUyXS68/KzdFChYHUJCDgj5pL1tRv+GVSy/xJKvvq9QDAUDkuaVqIjpMv0gb8mcY4Ugyw3C/Nt3wsqbfieRORxOr0LeHZACxtgLTml0m8iuDxs1NZglqZ+QqIn+NJ5cLcQshTRqzqpqsIpH6nZDlpqvI+2KKGd7yZYeom2hqAe8yjFdVb6Yxrzy7+JvkK0jDYnQWimmR/WEplAmcA/s0EJHY0yI81E3qUm cA4NCGp5 QHPHFR8DM43B8zspuyylelUVl12UWPF3QIeKfQj6bpzuMbL+sIHBQSMnOpCSFSqLtBjnwRl/JGQD0roDNcf8NUAQSytynHVPOMhuiP5WSKArEz6i374wPUAWM1UTXGxiGrlhe5ZI+2rx1oGVUk+Ji/HkRK/BG2R0czeNfbcSW6oelb1Kc/4LdHoF6WXkFsx01Qg47 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Jan 26, 2024 at 04:33:40PM +0000, Matthew Wilcox wrote: > On Fri, Jan 26, 2024 at 02:28:58PM +0100, Christoph Hellwig wrote: > > +/* Has this file lost any of the data stored in it? */ > > +static inline bool > > +xfile_has_lost_data( > > + struct inode *inode, > > + struct folio *folio) > > +{ > > + struct address_space *mapping = inode->i_mapping; > > + > > + /* This folio itself has been poisoned. */ > > + if (folio_test_hwpoison(folio)) > > + return true; > > + > > + /* A base page under this large folio has been poisoned. */ > > + if (folio_test_large(folio) && folio_test_has_hwpoisoned(folio)) > > + return true; > > + > > + /* Data loss has occurred anywhere in this shmem file. */ > > + if (test_bit(AS_EIO, &mapping->flags)) > > + return true; > > + if (filemap_check_wb_err(mapping, 0)) > > + return true; > > + > > + return false; > > +} > > This is too much. filemap_check_wb_err() will do just fine for your > needs unless you really want to get fine-grained and perhaps try to > reconstruct the contents of the file. Hah no, we're not going to implement online fsck for xfiles. ;) Online fsck might be a little special in that any data loss anywhere in an xfile needs to result in the repair aborting without touching the ondisk metadata, and the sooner we realise this the better. --D