Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp1392790iob; Sat, 14 May 2022 07:51:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzKo0PArHVJKrzJZgzIv/MjQUvs2Xuubhvtr7hfqn8434pVXfGbemEfViRjhMGYLgRQH//o X-Received: by 2002:a05:6402:1f0b:b0:427:b390:2020 with SMTP id b11-20020a0564021f0b00b00427b3902020mr4161795edb.70.1652539901925; Sat, 14 May 2022 07:51:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652539901; cv=none; d=google.com; s=arc-20160816; b=sLKCAbspeevwvTG8OJ/tM2v57zg0Y+TW1I6ARNcxt6V166bi7fIn6BH7/p2ipJUxT1 Mcd6jz2MNAdc+ImM+CQbeOgCvl36XNBRgyFKE3oTKU7UUDk1ZYzudJYr2wRu5DQBBIsu 1Hv7LS6EAr4xxYTduMUw+pMaZAVCgcLxufL0Xj75KOMHuYMlqmIGBUu/t37TqoibB3m7 5rBHdQQZXbvMEl4QbPcfDRC1P4feaF4U987qemCHp9gb/xwYodFYfMdDvlAhgSscAOVC 2vTXoAsuaE2NYxjdyrQlA0eNMTmRU+YgbIhmdIThryGSCeffAANxeTTC9JJcdhXBCXf9 0fRQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=P8htkup4DxsHts8dIaNMZ+Kl8OE0+wyjHdW+MxUmtsE=; b=vpy5HBUlC23uzG+tRlGqfcgyci8OOPB//uAXp7neMj6TexThpfX16gVh0fdaDEYbro SuIFKCDN7i9cmHNPVztwY3qk8WN49VIsiekp80+N5seg2aGX0ixJteeJqH9ylAfNfv55 q6KPXpl/XQ3eGXUj8xr7iLjF3DTiv6lWzHDzgHYGE6IJq5JEh/hkmUlMLeqTy+2U7X14 +IggATx/0nc+3jfd4EQq162bj8dU9lXogC6dzqz0AxrkKQc9x6Vn6k7T86g1YxwSMx/I wFxEEZ3tJGHrAvb28V3g61Js3N+XQtCzfVrD6d8sf4AgYV3kV6pP4/J/G8lBYw8MwlcG e5LA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=A0Hq0m40; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d3-20020a056402078300b00427c65dc295si4710278edy.266.2022.05.14.07.51.16; Sat, 14 May 2022 07:51:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-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=@kernel.org header.s=k20201202 header.b=A0Hq0m40; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232464AbiENOOa (ORCPT + 99 others); Sat, 14 May 2022 10:14:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50948 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230169AbiENOOY (ORCPT ); Sat, 14 May 2022 10:14:24 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 21D34140F3 for ; Sat, 14 May 2022 07:14:23 -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 B16EA60F1F for ; Sat, 14 May 2022 14:14:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8439C34116; Sat, 14 May 2022 14:14:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1652537662; bh=tD+jDDrzYnCZPzZUM9pTL5opqF2e8+LvWnkSz93e9k4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A0Hq0m40RmBiRIdEN/TqKOZBxXOre5DsiqrKRwrj0iUJDnqFZHktvFqGszp/DF78e pkEG+f3ZSk3Qjn3hXCyXp58HxcsaWLU8qa/nKytvAYxIp7XHkS78xlkXbGdWxdDD3L XS6kkwZvOqNyenRSKfGtRcE0mjsJIUe63LFaLV/xjnQDSp6bUlw8XtCER/iyJ5laA4 +1elGfy4MM/vrPpOpqc2QBLkso9QfFe2tKyN9tiN6bEymBIz2eEI492T+jE+7+zUdZ dHcgEQLtu8HvtGM3xyxup0Fl/gq4IzTjP7Oh5uWmKyLLzie5X4MoU53F0bHliuEN55 rUYt/XuXS6YWw== From: trondmy@kernel.org To: Anna Schumaker Cc: linux-nfs@vger.kernel.org Subject: [PATCH 2/5] NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout Date: Sat, 14 May 2022 10:08:11 -0400 Message-Id: <20220514140814.3655-2-trondmy@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220514140814.3655-1-trondmy@kernel.org> References: <20220514140814.3655-1-trondmy@kernel.org> MIME-Version: 1.0 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,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-nfs@vger.kernel.org From: Trond Myklebust Commit 587f03deb69b caused pnfs_update_layout() to stop returning ENOMEM when the memory allocation fails, and hence causes it to fall back to trying to do I/O through the MDS. There is no guarantee that this will fare any better. If we're failing the pNFS layout allocation, then we should just redirty the page and retry later. Reported-by: Olga Kornievskaia Fixes: 587f03deb69b ("pnfs: refactor send_layoutget") Signed-off-by: Trond Myklebust --- fs/nfs/pnfs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 856c962273c7..68a87be3e6f9 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -2000,6 +2000,7 @@ pnfs_update_layout(struct inode *ino, lo = pnfs_find_alloc_layout(ino, ctx, gfp_flags); if (lo == NULL) { spin_unlock(&ino->i_lock); + lseg = ERR_PTR(-ENOMEM); trace_pnfs_update_layout(ino, pos, count, iomode, lo, lseg, PNFS_UPDATE_LAYOUT_NOMEM); goto out; @@ -2128,6 +2129,7 @@ pnfs_update_layout(struct inode *ino, lgp = pnfs_alloc_init_layoutget_args(ino, ctx, &stateid, &arg, gfp_flags); if (!lgp) { + lseg = ERR_PTR(-ENOMEM); trace_pnfs_update_layout(ino, pos, count, iomode, lo, NULL, PNFS_UPDATE_LAYOUT_NOMEM); nfs_layoutget_end(lo); -- 2.36.1