Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3305033iob; Sun, 1 May 2022 12:56:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyma5zMm3rrW1m0twCrVCepdcpmByoYhaAaL65w8gRPnavDOnFcvLMSe9+7r50180ECXDZZ X-Received: by 2002:a05:6512:281d:b0:472:5ecc:b359 with SMTP id cf29-20020a056512281d00b004725eccb359mr4011524lfb.122.1651434970663; Sun, 01 May 2022 12:56:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651434970; cv=none; d=google.com; s=arc-20160816; b=e6kfAliZdoNGUqnzhh0E+bmbLS/qJUgWda5/flOZHixinpj5kgMNswDMX4lRRG289T 9YTp/wE/tqrlG5WuJgsHtDoS/zRytfirIuF0s+w3Y9kxQkjezffCa6/Xu/Te+2MhJrKa L07aUHqtnU2KH5s/C+jpbmOcxelqu0ckY16r7lga1BaS825zVpaheVyKsKORyHVgZAkO M+bUWAv72KvlzIJnmRZGDuE42ivhtX835A9c9Q6do00ybPModmzSI35j/yKsJUB7aWOl Uh8Owxelh79f6magJRvmNBaLDBjI0o4slZYeVQt+wSEhZAmZuo01AKSrFpzqEE3YgCB2 r85A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Gvkqg7jSdoDMXtI5g//3IgKv2SWwGbjPR0OII0t0dAc=; b=ytztSkf5hsVxfj3unmqr7cWPQ9uVwRBayNwFw/c4ktTRtSzkELJz7VYGLaLw4BvAVV e4DA3Cay54wIh2krCfYrceIUdL/d7QTCWZZbI9S2P2ahyPly9iTsb8oOvLhn9679E4Zx /+EXK5zD4+H0JqWqDkrUYzxo0kD9bLkAG2r8ctQk4lssJsSzwnOkf6kG7sPTNrw2Rwgp aKAf1+A1nENcCbcRk4FZQkjWwhCdMs3iygOyjSwMSmLjFzfXDx4rJ5XTzG4uBpPXpWXr ruP82zHjaQaXz1ReT8NSyppwPVANXPF85+KWQKb+EuFzFdo8/MzD6RY+IquVy4bJOCe8 xPNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DprNt6A+; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s3-20020a195e03000000b0046bc672bea3si13802514lfb.618.2022.05.01.12.55.35; Sun, 01 May 2022 12:56:10 -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=@linuxfoundation.org header.s=korg header.b=DprNt6A+; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353607AbiD2Kro (ORCPT + 99 others); Fri, 29 Apr 2022 06:47:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59640 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357794AbiD2KrC (ORCPT ); Fri, 29 Apr 2022 06:47:02 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5E34C90CA; Fri, 29 Apr 2022 03:42:56 -0700 (PDT) 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 46FB262347; Fri, 29 Apr 2022 10:42:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 497EEC385A4; Fri, 29 Apr 2022 10:42:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1651228975; bh=EGEVJxKSlnUmob6HnZRZpa7KRntmPL+HxdonKBurzWo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DprNt6A+Ky6pPSLmtiOrbq8QjcuwT9I/Zg+makhjiHFyHjeeqer6P1HbOnNDvUlze gC9mx3PTd7+KJVUOKhZMIJtA7a9qY4aDIzzzxhgKpSkeq5klqU5fGkKxqokc/GhxGG Uyna9Hz/5R+fX0mfzkyVmSmh6veeRTU3/uIXx+es= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Greg Kroah-Hartman , Andreas Gruenbacher , Anand Jain Subject: [PATCH 5.15 18/33] gfs2: Add wrapper for iomap_file_buffered_write Date: Fri, 29 Apr 2022 12:42:05 +0200 Message-Id: <20220429104052.869325697@linuxfoundation.org> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220429104052.345760505@linuxfoundation.org> References: <20220429104052.345760505@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS 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 From: Andreas Gruenbacher commit 2eb7509a05443048fb4df60b782de3f03c6c298b upstream Add a wrapper around iomap_file_buffered_write. We'll add code for when the operation needs to be retried here later. Signed-off-by: Andreas Gruenbacher Signed-off-by: Anand Jain Signed-off-by: Greg Kroah-Hartman --- fs/gfs2/file.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -877,6 +877,20 @@ out_uninit: return written ? written : ret; } +static ssize_t gfs2_file_buffered_write(struct kiocb *iocb, struct iov_iter *from) +{ + struct file *file = iocb->ki_filp; + struct inode *inode = file_inode(file); + ssize_t ret; + + current->backing_dev_info = inode_to_bdi(inode); + ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops); + current->backing_dev_info = NULL; + if (ret > 0) + iocb->ki_pos += ret; + return ret; +} + /** * gfs2_file_write_iter - Perform a write to a file * @iocb: The io context @@ -928,9 +942,7 @@ static ssize_t gfs2_file_write_iter(stru goto out_unlock; iocb->ki_flags |= IOCB_DSYNC; - current->backing_dev_info = inode_to_bdi(inode); - buffered = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops); - current->backing_dev_info = NULL; + buffered = gfs2_file_buffered_write(iocb, from); if (unlikely(buffered <= 0)) { if (!ret) ret = buffered; @@ -944,7 +956,6 @@ static ssize_t gfs2_file_write_iter(stru * the direct I/O range as we don't know if the buffered pages * made it to disk. */ - iocb->ki_pos += buffered; ret2 = generic_write_sync(iocb, buffered); invalidate_mapping_pages(mapping, (iocb->ki_pos - buffered) >> PAGE_SHIFT, @@ -952,13 +963,9 @@ static ssize_t gfs2_file_write_iter(stru if (!ret || ret2 > 0) ret += ret2; } else { - current->backing_dev_info = inode_to_bdi(inode); - ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops); - current->backing_dev_info = NULL; - if (likely(ret > 0)) { - iocb->ki_pos += ret; + ret = gfs2_file_buffered_write(iocb, from); + if (likely(ret > 0)) ret = generic_write_sync(iocb, ret); - } } out_unlock: