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 C31F1C74A5B for ; Thu, 30 Mar 2023 00:02:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30BBC6B0072; Wed, 29 Mar 2023 20:02:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BC086B0074; Wed, 29 Mar 2023 20:02:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1AA496B0078; Wed, 29 Mar 2023 20:02:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0BBFC6B0072 for ; Wed, 29 Mar 2023 20:02:14 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C5BAC120904 for ; Thu, 30 Mar 2023 00:02:13 +0000 (UTC) X-FDA: 80623612146.26.683C6CF Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf10.hostedemail.com (Postfix) with ESMTP id A5FB0C0027 for ; Thu, 30 Mar 2023 00:02:11 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b="XUudP/Pk"; spf=none (imf10.hostedemail.com: domain of BATV+8e70578520f0e3248efe+7158+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8e70578520f0e3248efe+7158+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680134532; 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=A6ux99swJqRiP9fOU3d2dZ1/X8782Gxm2MbdMlsr7UQ=; b=ekiq9H6ZiaTJA5pZGVmtwYND2/GchOAiutlKbupCQkQS0egzxziBuBosxk2h+Fa/Fosbjc upW52OgQ8K5FKBJdcBhzrCHgydqsG9OdXLwFP94Jlx6ILHjVJ1fOIFcnACM4gxh8OCq1wp y/Em59B2zMBiL+VqsH2NAoecGVuOs6s= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b="XUudP/Pk"; spf=none (imf10.hostedemail.com: domain of BATV+8e70578520f0e3248efe+7158+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+8e70578520f0e3248efe+7158+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680134532; a=rsa-sha256; cv=none; b=Pyi/b4uosA1mQne2mpASh58IIKtRmpEEysUpsWeFZK8+xMGX+gxFmN9ebowrLgVEhdOwbb O8z4uNS4tzGXeaW2qKzsLuYKnuN0gJzQe+llABS1RRiJ7dr5wXQnmjO2siYAJJNXjNHmFI x4sm9t+xcjj44pXDEt722w3FPYYkRcw= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=A6ux99swJqRiP9fOU3d2dZ1/X8782Gxm2MbdMlsr7UQ=; b=XUudP/PksU/1U4REfHGvfxwKnI 7ifq9UAhJQHBOyXd9KQKYdCZSpYA9DtTnosJTW87NAqicvfN7FSg06Wp6Kl+N2WWFW7gBWIBTEHlf muYXXtGIpOw3lTn6d25/RRHPFGF6eFtXyqopp1/h6KWR3OqZ05rpChyXV1zCm+izzFXur4mZYjfqY e1+WjlI6b8VIeOogtt+WrnSmIv/wAwF4yNGHmKlVYOS6mCCBYNhtJ/AOGZGuzYY1XUQ6jphaoYl14 PENfAE2TOxtym4oGa8olmPJkDHPOpla5sGKOC9KaNQMEdkgvqhDPiIb3DKFaGi4ryno1G4C9RBQIH DJV5P4cg==; Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat Linux)) id 1phfjx-002761-1I; Thu, 30 Mar 2023 00:02:05 +0000 Date: Wed, 29 Mar 2023 17:02:05 -0700 From: Christoph Hellwig To: Jan Kara Cc: Ritesh Harjani , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, lsf-pc@lists.linux-foundation.org Subject: Re: [RFCv1][WIP] ext2: Move direct-io to use iomap Message-ID: References: <87ttz889ns.fsf@doe.com> <20230320175139.l5oqbwuae4schgcu@quack3> <87zg85pa5i.fsf@doe.com> <20230323113030.ryne2oq27b6cx6xz@quack3> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230323113030.ryne2oq27b6cx6xz@quack3> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: h4bhbauehdgrirukjtqnyfnat36kr9s6 X-Rspamd-Queue-Id: A5FB0C0027 X-HE-Tag: 1680134531-476727 X-HE-Meta: U2FsdGVkX19i8C5LPiKDLEDm1mdd0TSSWyQdgRLmEf75WTHfCfMXMKgrXIUnm+RvTU56xK+XtEX9kon6Ik/v/h1d2l554P6ID/WORmGe9Wm2G7VKfd5QoFrQmaheyLjlHReff/vqUD3KH6Ypp9kpyrSOn2q2pCNS5u1+uHVpDnepORZZiPg7TfcUqAqGLu1zrwGflYNVjY4gncsbGTt0J8YXBaZ3tBNZI/qXu2p8Q27a0WTfv/408Kng70ljkt/YRcI4vRaf5jcO6fBKnIMu+VBrALvRGzN4j5m1upZHt7MD9IRAAoeI5LT5jneGCzeIFodKu80/lR53HaRCgc+1HJ2Wg3fYgs+j+IT20GYz9NzoBzZqdLA7ysrJ2Ci7gih83nKNlO/wKtaZPMPG9ualjWxefVLmoW6A/WCWaXq71BfCs/K9ckJAJgf7nmy67AkECy62BXYyYhDJhzzBpladkns3X/hV6B8RfjyhdlHUW0bn2PNTWWaRwPg+YVHBhfoQMnoNTYwHNEsgF4nuC3VCyQ1Vpxbhnrg8VPdLx5ntt+/OC4Maj9liYpP2Xaas/TjWuCsfnpnvEb/lBhTKDiqWC3fMujCyMflbfmLbm63dU99h9kMf/vob+D22c3bSlERqhoCXnBTQx+9h6DHNSgHQUNk2syvfTP2wKhlbSrOKjqXxBlt8GZFmCuhVsjLCQHoQCX9EyNiqWkVkdNE9YVR+Y2B+E3aLuZ5LeCdEYQz/nrxZSVCm6TQsd/K5G+LEyuwBHMjvGPT/DaClaIk1u2oKg7HT8Bxrr/2HQrctOZ1w6+r0gWIJfLPPGS8L5OPb2wL9bPCOct2DFf0yB+aKvBFt169oIVwOMUSyjqDXgz7B3xV7yBa4NaNyqFbpESmY1q8xiUPIMFyRWHBet2cGhiIMql6PWR2wyaKPnNeysj2SvG4imA5bML4XD+OSyATztnrxLRPwdR66Yv+zWG9iY1v F4sRL3LZ cge2pf967C2P33Mjv6QWFgXKKLJjul+dykags+TSfrR64IpYIYSnDjtIFQbCEGv14vqP4+APv1On6gGkylFoF2V9Vzo2D5SulC7X0iwkz4JWuRt1pNEd5FE6ZlY2u2dlf1WhVXaam67R004Fy1FhF5vKAPO2zAEv9t+6n2mf+ndRNndZzdC14/CW4pKNnCaog4liVa4V4WlwmtG77ii5yVoX4KI5Sykui9iXZEnz5SCaZIB6uplNzKDtMXbNfxStJBFrC3u0dKauCKowzLWcG3QlVcp4OcdX4i4IFKEO+A2rfShYXmg9j/DKMU0GB/UNgF73qANBnBQa+opPVESuMprn+eEoYsTjUwcbRHka3xmmTDyHBF7xwsUOo05QqSkk3RruVWkhb7JFA5S+uy7pLL8CusJyhpQG9ZrwgIUwIMlGCfgaKsSgFVXqF8/SaSOujvzdFxP/v0d1+uGWRX9Iub5rgSN+Qd4b9dz0f 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 Thu, Mar 23, 2023 at 12:30:30PM +0100, Jan Kara wrote: > > > > One way which hch is suggesting is to use __iomap_dio_rw() -> unlock > > inode -> call generic_write_sync(). I haven't yet worked on this part. > > So I see two problems with what Christoph suggests: > > a) It is unfortunate API design to require trivial (and low maintenance) > filesystem to do these relatively complex locking games. But this can > be solved by providing appropriate wrapper for them I guess. Well, the problem is that this "trivial" file systems have a pretty broken locking scheme for fsync. The legacy dio code gets around this by unlocking i_rwsem inside of __blockdev_direct_IO. Which force a particular and somewhat odd locking scheme on the callers, and severly limits it what it can do. > > Are you suggesting to rip of inode_lock from __generic_file_fsync()? > > Won't it have a much larger implications? > > Yes and yes :). But inode writeback already happens from other paths > without inode_lock so there's hardly any surprise there. > sync_mapping_buffers() is impossible to "customize" by filesystems and the > generic code is fine without inode_lock. So I have hard time imagining how > any filesystem would really depend on inode_lock in this path (famous last > words ;)). Not holding the inode lock in ->fsync would solve all of this indeed.