Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp3493646pxx; Mon, 2 Nov 2020 10:18:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxIFFAp5iB+krK4GN62IaIb3AE4jGD7zWpePJsZVWZc57LD27kXlUblUOAPKJ6xK/Mu3o2b X-Received: by 2002:a50:dac1:: with SMTP id s1mr17897358edj.74.1604341082135; Mon, 02 Nov 2020 10:18:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604341082; cv=none; d=google.com; s=arc-20160816; b=V/2WiVpYZdoupD91EOXglxV+AiAzd1oh9FqsFsIwBHUY8xL+p9ISp8qGkCRkx+HZeN iCVasK7nShG9JYQD2DLEQznLCk3PReY2rgsldJys6w4W6JtU56MhTgPSR72YkuD7xlRC vQspEffMHfZyOvvmsftGsf1RWw6h2xJYZKssitJVolFksr2/zg881UCw98vnHQoZF8iL RhRUdvbiXzwxMU+7JN4TTbUDyBp+VJMbUYSoCSoZuuNmALdlT2O0UjJOpsJMqgxFoD7v SGr/diwEzDy5iAug8uvcSiI+B0gYGYWSSdSMLn/MK/3/ETiZ5NceYpkEvwTQ1MR2HWp5 jstg== 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 :message-id:date:subject:to:from:dkim-signature; bh=AeQqlRmox912yzIMzRL+psNU8vNNY9lDn6ABPpTMSI0=; b=bLnxnq/aCUw3cfIfs2Od1DrKtDRuchyLjYlcmCgqob7slQwSlKlx6QxVdJ/AigUb5B gC4j5PSMsaSsUsnvmk647yRgiVIv52mvuHV9eQaSvDYcQhV0ZI1QfL0q/9/dVqeQs2kW 8KsHCV7QbnFgrWNcynJ288IifxIZt22shN2SXA2NNzqrfqK0F1HxIqY8b0MPEDLGc6v9 992d5rPVP3FppPVcBGkTW8Hj2TSJU3M61FdAktNbIUXmi34jbjDfHPhT0hjWsYaDBU4s 631eM0uhHsUldtA2Duu1jYszXG+KiJrvBpyqcNVKhfjgZbl84BG9byIY+iX7nSA6uQq7 usOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wmJUPEBB; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w10si3688934ejn.670.2020.11.02.10.17.29; Mon, 02 Nov 2020 10:18:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wmJUPEBB; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 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 S1725836AbgKBSRU (ORCPT + 99 others); Mon, 2 Nov 2020 13:17:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:40842 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726076AbgKBSRU (ORCPT ); Mon, 2 Nov 2020 13:17:20 -0500 Received: from localhost.localdomain (c-68-36-133-222.hsd1.mi.comcast.net [68.36.133.222]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 10A7120731 for ; Mon, 2 Nov 2020 18:17:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604341040; bh=fsr9Yq0aHB/8I0Sy6bV3PWBbhDZuWG8/RtIDy++KQaM=; h=From:To:Subject:Date:From; b=wmJUPEBBt5NtauJxXmowaGnyylN8WqnUUAoLBg4VqEnyrOITnuIPCPaLk+IjNZ8HA EpKWSfHblwAJ0msfmgf0NB4f961UK2nEG/BOaeR3+N/x6bBUET1fgUgp33thoVw3Cf MAx4VF4eKhwiFUyAIO4EsZJtHzRyHmIupW3ILCyQ= From: trondmy@kernel.org To: linux-nfs@vger.kernel.org Subject: [PATCH 00/12] Readdir enhancements Date: Mon, 2 Nov 2020 13:06:46 -0500 Message-Id: <20201102180658.6218-1-trondmy@kernel.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org From: Trond Myklebust The following patch series performs a number of cleanups on the readdir code. It also adds support for 1MB readdir RPC calls on-the-wire, and modifies the caching code to ensure that we cache the entire contents of that 1MB call (instead of discarding the data that doesn't fit into a single page). Trond Myklebust (12): NFS: Ensure contents of struct nfs_open_dir_context are consistent NFS: Clean up readdir struct nfs_cache_array NFS: Clean up nfs_readdir_page_filler() NFS: Clean up directory array handling NFS: Don't discard readdir results NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array() NFS: Replace kmap() with kmap_atomic() in nfs_readdir_search_array() NFS: Simplify struct nfs_cache_array_entry NFS: Support larger readdir buffers NFS: More readdir cleanups NFS: nfs_do_filldir() does not return a value NFS: Reduce readdir stack usage fs/nfs/client.c | 4 +- fs/nfs/dir.c | 555 ++++++++++++++++++++++++----------------- fs/nfs/internal.h | 6 - include/linux/nfs_fs.h | 1 - 4 files changed, 325 insertions(+), 241 deletions(-) -- 2.28.0