Received: by 2002:a05:6358:5282:b0:b5:90e7:25cb with SMTP id g2csp3802688rwa; Tue, 23 Aug 2022 10:19:30 -0700 (PDT) X-Google-Smtp-Source: AA6agR74EoJEgBvPBpLcKe1BuogROnfg4nhCRZCVWGsgmP63PthNegh4GXhVzjFPMTcT2i7UbTX7 X-Received: by 2002:a17:902:7247:b0:16e:ecb2:4870 with SMTP id c7-20020a170902724700b0016eecb24870mr25350314pll.110.1661275170658; Tue, 23 Aug 2022 10:19:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661275170; cv=none; d=google.com; s=arc-20160816; b=HA1E/IBHmRKQBDplrR9HjpGYaBMhr/UT8anrpd7We2/Lwcdv3nX6m3Fl5BHMuyYV0R 37bEXoZQg/q80S5AKopJLRH/fbHu+btKYYeedeUfLvwag6YeFso9xnTR3hetIVsLCBvj 89vfe4OE8mhiK+M9oDgOlY1PrHnMOtKNvnjklg3Av57EpTARRjidVTJMiFWc0beUZ3vT 11SPaFKfgnjXygETwDNYhoG+fS+6aIgzt9OUevjZsxpcfQlJbDdUaBmeBzWfiCAM1flI 2p/rt5MwymecLZvVEacmcOMAIZC8t6IumP1YY/1MQ+1HbhILHmR21WKNX6q3jhVjimWv f76g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=cXTGuxSdX3IqLUmH1xbDUEImxUv/M3WOTk/NqLmVJjw=; b=i3z/70YBINGQLsz76kr5XZ+CNIdet9PGCAM+1ps/CogBNHtXenR+Rqg5mU/I+V3hMz Udk7x3bAqZToTvuoBSL0mRXj2PwgfAxaqgWpLEcuupkiZDf0w2ac+Q0wwSpgtcP3a0K4 9OhngyRR1JvO3nazm2HVMv6iGob5xhTNfeuKZVnFrzzSyQ1uWnvMXZgnz05pCnWMN4Zs y4caW5jakMuZLctKa2+zA52vCQkm4zI0GYsGtWPTcioVcZoD3rnRUAWDE40B0n79zcrv rhS9WLGGG/lrHnX5bwYTcHR/EqKViPZFqCU2eTRwgR4V5t1W8o65B7l69tT4nGifwzJb O1+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=EeRLYkQD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ot3-20020a17090b3b4300b001fb7a6f795csi142111pjb.38.2022.08.23.10.19.19; Tue, 23 Aug 2022 10:19:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=EeRLYkQD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343785AbiHWREl (ORCPT + 99 others); Tue, 23 Aug 2022 13:04:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35744 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1343884AbiHWRDl (ORCPT ); Tue, 23 Aug 2022 13:03:41 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9397988DF3; Tue, 23 Aug 2022 07:08:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=cXTGuxSdX3IqLUmH1xbDUEImxUv/M3WOTk/NqLmVJjw=; b=EeRLYkQD0wkNgun3h/DzzNnT3X pU/T+Neiz84rBoUVVwFG1YXhN+K3/RjJy6SlAGY8mR3Cfd7k7pr9Tsv1Vo1fdy9I+094beQZ/2SFS RGtv4IG9s2MZXamHw24chpE1zevVSJBzwVgQIQeAjWUdDcmYjM45slA7bkWJ8/lPLmv8T5W6qDW9y ecav6TnG2ggCHc0SfSMoOBwEc4pNOPvGrpwxb4KgmkgcFoIQVu9T9UaZdeDDyHI4P/DuABZ5tMRgU ZsSLNjEgjl9eDjUwNdPWlyUsUXnN+CQ7ZPHf2hJeK3rGYnMOzSmHslRKo2liGi98rRAag5EEQtqbF ELYVJBdA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1oQUZR-00FLAT-W7; Tue, 23 Aug 2022 14:07:58 +0000 Date: Tue, 23 Aug 2022 15:07:57 +0100 From: Matthew Wilcox To: David Howells Cc: sfrench@samba.org, linux-cifs@vger.kernel.org, lsahlber@redhat.com, jlayton@kernel.org, dchinner@redhat.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, samba-technical@lists.samba.org Subject: Re: [PATCH 3/5] smb3: fix temporary data corruption in collapse range Message-ID: References: <166126004083.548536.11195647088995116235.stgit@warthog.procyon.org.uk> <166126006184.548536.12909933168251738646.stgit@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <166126006184.548536.12909933168251738646.stgit@warthog.procyon.org.uk> X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 23, 2022 at 02:07:41PM +0100, David Howells wrote: > > + filemap_invalidate_lock(inode->i_mapping); > filemap_write_and_wait(inode->i_mapping); > + truncate_pagecache_range(inode, off, old_eof); It's a bit odd to writeback the entire file but then truncate only part of it. XFS does the same part: error = filemap_write_and_wait_range(inode->i_mapping, start, end); if (error) return error; truncate_pagecache_range(inode, start, end); ... and presumably, you'd also want the error check? > rc = smb2_copychunk_range(xid, cfile, cfile, off + len, > - i_size_read(inode) - off - len, off); > + old_eof - off - len, off);