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 6595EC7EE2C for ; Thu, 25 May 2023 10:06:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C88E36B0075; Thu, 25 May 2023 06:06:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C3A71900003; Thu, 25 May 2023 06:06:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B010D900002; Thu, 25 May 2023 06:06:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A16726B0075 for ; Thu, 25 May 2023 06:06:06 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 6AC4C120B84 for ; Thu, 25 May 2023 10:06:06 +0000 (UTC) X-FDA: 80828346732.07.832D0A6 Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by imf13.hostedemail.com (Postfix) with ESMTP id 3715220005 for ; Thu, 25 May 2023 10:06:03 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=none (imf13.hostedemail.com: domain of hch@lst.de has no SPF policy when checking 213.95.11.211) smtp.mailfrom=hch@lst.de; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1685009164; 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; bh=9Q+kM+TWjxXk+Cj89CRyijYjxLbQDo47dz+5qnhLfMA=; b=AOBuyScEjsPk4yA0LFz9GcVl68YbOPGUFqxuCmkzt2sL/crx2KwNsQdDnCdUf+lnbCPOBR uEZkv2fvRQe3/TRte7HZa6GSdr9q89fDlwHG6KHLiwotXPd7uyRIF1M4yQQ/iUnvge8sb2 9g6vqJniMwo1vBMpivBmvUTIw2dFjwA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1685009164; a=rsa-sha256; cv=none; b=2drbEvB9nRw13bJeV88ZlDM7xyVEtEKprA6C6+qr0iDLoZM3pha+luyepHTmDT72xWCenu p7vcf7T+TCrvjwwhPILbNZvAkUW9ytTz7PHlxfkqXIXUS7BjUmUc3AM39c2tWlmZn/sAgS AQE3Ts7iH/fq5QJx9RX7lVb+8KthPEg= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=none (imf13.hostedemail.com: domain of hch@lst.de has no SPF policy when checking 213.95.11.211) smtp.mailfrom=hch@lst.de; dmarc=none Received: by verein.lst.de (Postfix, from userid 2407) id 45E6C68AFE; Thu, 25 May 2023 12:05:58 +0200 (CEST) Date: Thu, 25 May 2023 12:05:57 +0200 From: Christoph Hellwig To: Miklos Szeredi Cc: Christoph Hellwig , Matthew Wilcox , Jens Axboe , Xiubo Li , Ilya Dryomov , Alexander Viro , Christian Brauner , Theodore Ts'o , Jaegeuk Kim , Chao Yu , Andreas Gruenbacher , "Darrick J. Wong" , Trond Myklebust , Anna Schumaker , Damien Le Moal , Andrew Morton , linux-block@vger.kernel.org, ceph-devel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-xfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 09/11] fs: factor out a direct_write_fallback helper Message-ID: <20230525100557.GA30242@lst.de> References: <20230524063810.1595778-1-hch@lst.de> <20230524063810.1595778-10-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) X-Rspamd-Queue-Id: 3715220005 X-Rspam-User: X-Stat-Signature: 1pp9abpkzu145s1yy5ckhmrby7qfx6n9 X-Rspamd-Server: rspam03 X-HE-Tag: 1685009163-402342 X-HE-Meta: U2FsdGVkX1+7HuY6P+6oE6ZjU/T1FLLkTFjEovE1+e08wcey9azZF4nMNQLXtS7s3Ivsx+MACl9WS0qaOxHTdfMrT4BmaHStPIMvuBLRrhD5X7UutGzcE8zyCa7t2lSAYZU3xmq1/4hmbU7+BNzULjLWWFImNzYOXqoXL4rxXw6MQMweRS2VUtISEZYb18YGEUH0lF44aAuX7BkNxRZlpzc5KMtq3icqOrOHW35mGGdNQSEFavLBgIB/mSB48prQroHNTA9WpFDGWwrHjMGGdp2dhhpARGC9iLFIEwtxXxox9BF11OoJ87KrK38HQWKrbNxp3AyKmPs2zOc1x01ozNsbP6KfKYJtB/pg3rRiHhu+/53ngb2U/yzpoluYtBFUly8VfZpAfecgdtZGjSUHF/sYxXOKo6+nZ9Mqe+ZGLvnOALC0+CyVSeY7HNSmjrDjBHYjJyY0+XHzCHlO/SaSMJf+5FOuAebPUgsQd9RR+X3LsxVHVps4XYcT2yOu3gBlwlZwA5Ht/zBATzEg99y3cwJ25P1RDg4UzRiZY9hNLBBsNOQCua9/rXitpu31i28jZi5t/k4nx+5OjEFi/cxffZBj3ETm50UMtBJzIl0rtKkB0UPJve8Ookg2MxGEZ1RLvZF+KoT+n7tnaFrvGxEpTWc8itAtqLcRZVOp+Wf/4/im3lbg/UJOXyUVDn2sJ8zFNXa//xQQYlsxHNjHxRC/JFbjhAXHGxBgGkyDFMyb5P30wyuhOBOAol+lIzwfPJfipN7nbn6IHFzx4B4g37TuXl9MO3g+1zzjuCbx+rx1mSYDX0oThrYgm8TeJwvtVagfdCO1H0CHaHlXpQOd9YAOngbC4CsJgoI52v8IWL43K8T/UG2LWD/wiyvKB9iJCNZ9bT2YPg9rAB+pi500JGuNtMkbtqF6k/lskLgyNA/oBINVu9fXQGDN44g3ePB9gtEiOz/IuUH0/g9PdsnHJlz L+y6SDRJ 6lL/70gMzGCue434A39VzORwW0UQmc5CX1B9ujfZPUzq1fEpfCABOa9EIiQ2omRnRR7brZa2Prcp6VEf1B6+itG9Cq+w1uKJQXovwh9K4UvQMRxQ= 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 Wed, May 24, 2023 at 09:00:36AM +0200, Miklos Szeredi wrote: > > +ssize_t direct_write_fallback(struct kiocb *iocb, struct iov_iter *iter, > > + ssize_t direct_written, ssize_t buffered_written) > > +{ > > + struct address_space *mapping = iocb->ki_filp->f_mapping; > > + loff_t pos = iocb->ki_pos - buffered_written; > > + loff_t end = iocb->ki_pos - 1; > > + int err; > > + > > + /* > > + * If the buffered write fallback returned an error, we want to return > > + * the number of bytes which were written by direct I/O, or the error > > + * code if that was zero. > > + * > > + * Note that this differs from normal direct-io semantics, which will > > + * return -EFOO even if some bytes were written. > > + */ > > + if (unlikely(buffered_written < 0)) > > + return buffered_written; > > Comment/code mismatch. The comment says: > > if (buffered_written < 0) > return direct_written ?: buffered_written; Yeah. And the old code matches the comment, so I'll update to that. I'm really wondering how I could come up with a good test case for this..