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 84D7FC77B7E for ; Thu, 25 May 2023 23:46:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ADD676B0074; Thu, 25 May 2023 19:46:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A8D7D6B0075; Thu, 25 May 2023 19:46:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9A392900002; Thu, 25 May 2023 19:46:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8D8D36B0074 for ; Thu, 25 May 2023 19:46:50 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 5B769160786 for ; Thu, 25 May 2023 23:46:50 +0000 (UTC) X-FDA: 80830414980.07.54A480C Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf26.hostedemail.com (Postfix) with ESMTP id 6F2E114000F for ; Thu, 25 May 2023 23:46:47 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="lmUBO/G8"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of dlemoal@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=dlemoal@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685058408; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=+Fpw1XY9HP/U5jnuLAM0o8HpILOqGnLjgUy6UKkECpk=; b=zOdmEkcHluyjw+9EBuyA+ETEXMaOTJpP13PPQRt7D2aSmdYJudZQXShGUjyVSwnJCQcxSL tvoARtfAZV3h0D2LGponm8ne1WaGuAMn3bmQGbI8qgmOoebhVnRfcVgV2bRGUNvFGMzF9q cEFUGlFcroOusM2jd7KXOFSuG9Pw60c= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="lmUBO/G8"; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of dlemoal@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=dlemoal@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685058408; a=rsa-sha256; cv=none; b=2lRylwIbgHr3X93YVflfYaQKjAnSDOEn/u+CB8Ar+TwOtiOuxhGOp+G1g0eFNKV1tpxjG1 jMyMktJO8aeObcB2DJZksRsC3IH31qcmylZPym6IygzFd2InXasprxY1bq1EM6BDoS7HDa wn6wcZ/vTSI6PhtZyu8jjNtZHA8ao4g= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3C56263D9E; Thu, 25 May 2023 23:46:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 54892C433D2; Thu, 25 May 2023 23:46:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1685058406; bh=rjbndO/LAuL+bviGPDqErD8/rV2wobnhP+qhDHN9E4Q=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=lmUBO/G8cDI/xJ0BHixdkUE4jvqYFoP8+qUtkYNCqKbMFgAjdB7r4y/y9JO15Q3n7 H34uqGeMvqEChTuUqYQaR9Mf5FUFO5Y65W4Ayy84AutEeNfaPufa6tYhre4LxwSJ+Y g9NAtEiUQu1YP0LQwo1OVt9pp8QPXGxoqjp9BQw4GsdeAJrxbX5N/l6BJBiV2binEa 2CDIoi+WlxnqUTqvvnDZ1zjWq7YhwD6ccz71I3vuZ1VnFEVDHPSRhEmdq5vifp0s5S wAaNTvVdxPzncebRJBciwvgJO7voJ7aFxqrwuoq1gP4nBV8nSlUN1xp0eunLBMg/44 kw8Dr5VkXKtqg== Message-ID: <8b803ab8-f8ee-259f-8d30-1d14d34dc1e4@kernel.org> Date: Fri, 26 May 2023 08:46:44 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH] zonefs: Call zonefs_io_error() on any error from filemap_splice_read() Content-Language: en-US From: Damien Le Moal To: Matthew Wilcox , David Howells Cc: Naohiro Aota , Johannes Thumshirn , Christoph Hellwig , Al Viro , Jens Axboe , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, linux-kernel@kvack.org References: <3788353.1685003937@warthog.procyon.org.uk> <9d1a3d1a-b726-5144-4911-de6b77d9bf02@kernel.org> Organization: Western Digital Research In-Reply-To: <9d1a3d1a-b726-5144-4911-de6b77d9bf02@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 6F2E114000F X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 1eznewwhtgfye8415793wqrun3ctkcg7 X-HE-Tag: 1685058407-129030 X-HE-Meta: U2FsdGVkX1+n4q2sOhKk7o1n4Ff/2I3Vz83ry4sWE4NVxQR4lM6eKhyu253ZhrtY0LnrwiZTiUQqX+foobsdSrNEMMkhcQrAhh8cLtOhxSeOsprZLuWhzhywuIX97QMmcF+UT4Pf2usmjW/+RQA7mGNtUJaFTtcMuwQZQsMTVeUoc1l7f3WHKhGX4QfEchv+YocecGNZci9WZYh/2VHqsA+4m6C/s3l63fvjZ6wLGIXoBjx4zuM2Ikyj8wC75NW6T7dWuPKRT+wgKkT9d7mnqTEXEyX9Bhpor8aChIzvdyHxjnzLFVf7iVim8Hf0bcf82lGXJFVtVHjaPDmPF6YFAKHYjog69O4Y/TBlYH7bW+i4G5jp2V0noS8YL18VmMRI7RVXUAD9MObXEQPQElX7q1Uz2fGwFb6POcTnSyV5GuaEq5sKipghwktG7o3ql5B93q6q+cx5WPNTQLI3hKOvuj9FeMJlOKUkXsCsmQE1VE+PTdPUgJ26j889Z5DY2hZv6nxoUcj/CgVnuIhmLhh0IJ+JmWK6VgFuby2O0Erzv4EBfXCnA8UzDe9Mvo9HMLWl0LgjE6sSpcMcj6OL2tJJj9MNfvGSniqOuyrwJ3iykT2sLNGFpsTkLxryAbOCQU1UjmYoqcJnrKsSE4zP95YPc/Xhs2Z/+FaWYwA2I01LbJJOxWLmWA6T+yM87ol0HBdko0ohiL8EMJwh5dj4AVDAX301oW+v6Yfy35I8nrdJ1e+iZYTsiP9a5Bfp6Tg8dcA2p3oFBRgaVqBqrm6srNWdljYLQ7JLB3hVRiisRJd1nXqsb7URGcsY8+3hIUvyCxfuhbWAlFfmSH1+2gU0lU8TejsVTaF6DW2bQ/+RqODiG69SQLPOwHPfhcLnN9G9P7Y1MIiVGQ8lGBUfVPpbowc0jgLduWG8LdXOHSVFRlfd9vWpsphUaKzR1iGz5oPOOb15ZGNLh1WlleQlI9aO4DP Yj+3TBXc m4cgPW3t56YgvpJ7/OwRDIHpHoPsZTb0CAv4IZ1uNK/iwUUUH2yhFUzBYascTlBLL0GJOXoXFwT15lTsNsF5NF4x+aZxu4mFtNBa3koKKedcpUmAOM1CdwpDuY80ROD+g/dyxBP+fk361LsIptPmz/GEPBFpxNxsh8BgjMQGi9JRRr56/k6FWtAaSHDaM87JRdu9n/wiqi7Z3LNzeisRiRKTfTf7ATMRwEZCmy33MBaN//V/lVbzz+asV+K0iwcZqNAgzSVsiTH/aPBSYZnsJ7isgVSY5uKD8ALss7EPJFEuwv8MUcOGOtmwLSCvUqlqDMcpRKab+iXSnGrY+9XWoaVHmSFs4nSGB8SskW5VRNLLarWnycrarqI4aV4SDcaxUU/9Q837j5qWtWZk= 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: On 5/26/23 08:04, Damien Le Moal wrote: > On 5/26/23 00:21, Matthew Wilcox wrote: >> On Thu, May 25, 2023 at 09:38:57AM +0100, David Howells wrote: >>> >>> Call zonefs_io_error() after getting any error from filemap_splice_read() >>> in zonefs_file_splice_read(), including non-fatal errors such as ENOMEM, >>> EINTR and EAGAIN. >>> >>> Suggested-by: Damien Le Moal >>> Link: https://lore.kernel.org/r/5d327bed-b532-ad3b-a211-52ad0a3e276a@kernel.org/ >> >> This seems like a bizarre thing to do. Let's suppose you got an >> -ENOMEM. blkdev_report_zones() is also likely to report -ENOMEM in >> that case, which will cause a zonefs_err() to be called. Surely >> that can't be the desired outcome from getting -ENOMEM! > > Right... What I want to make sure here is that the error we get is not the > result of a failed IO. Beside EIO, are there any other cases ? > I can think of at least: > 1) -ETIMEDOUT -> the drive is not responding. In this case, calling > zonefs_io_error() may not be useful either. > 2) -ETIME: The IO was done with a duration limit (e.g. active time limit) and > was aborted by the drive because it took too long. Calling zonefs_io_error() for > this case is also not useful. > > But I am thinking block layer (blk_status_t to errno conversion) here. Does the > folio code *always* return EIO if it could not get a page/folio, regardless of > the actual bio status ? Replying to myself :) iomap_read_folio() or iomap_finish_folio_read() -> folio_set_error(), which sets PG_error. Then filemap_read_folio() will see !folio_test_uptodate(folio) and end up returning -EIO. So if there was an IO and it failed, we always get EIO, regardless of the actual reason for the IO failure. Right ? -- Damien Le Moal Western Digital Research