From patchwork Fri Aug 27 09:43:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Howells X-Patchwork-Id: 12461743 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3C53C43214 for ; Fri, 27 Aug 2021 09:44:03 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 763D36101B for ; Fri, 27 Aug 2021 09:44:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 763D36101B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id C9B528D0002; Fri, 27 Aug 2021 05:44:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4B2A8D0001; Fri, 27 Aug 2021 05:44:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B39B68D0002; Fri, 27 Aug 2021 05:44:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0052.hostedemail.com [216.40.44.52]) by kanga.kvack.org (Postfix) with ESMTP id 9912F8D0001 for ; Fri, 27 Aug 2021 05:44:02 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 27F06181B0496 for ; Fri, 27 Aug 2021 09:44:02 +0000 (UTC) X-FDA: 78520374324.30.286743A Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by imf11.hostedemail.com (Postfix) with ESMTP id B59A0F000200 for ; Fri, 27 Aug 2021 09:44:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630057441; h=from:from: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:content-transfer-encoding; bh=Db4J9qqzVtQ4nd+3HQst+edgAm4oaZrD+OaQmGzLIq8=; b=gLlBbm/rAefoDa8ooIJqYNwh0Evy1NhgaWXAUn1SgfxKpAhESh4H+mU8f4xmhj3NEeSOd3 yMYilZTWxHaxM0ZiNVlkLqIKEs3zY86FYlpEBM5kQjnIyFIVD0LB5G9ug9qLuCRx2e36in GCVg6gasMi8CpLFt5Bxd+2Q2MwFv6yI= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-9Sg_JrpyPwC_i1p3yT2gAQ-1; Fri, 27 Aug 2021 05:43:57 -0400 X-MC-Unique: 9Sg_JrpyPwC_i1p3yT2gAQ-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6D8191015193; Fri, 27 Aug 2021 09:43:31 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.33.36.36]) by smtp.corp.redhat.com (Postfix) with ESMTP id 07ED9752A0; Fri, 27 Aug 2021 09:43:27 +0000 (UTC) Subject: [PATCH v2 0/6] netfs, afs, ceph: Support folios, at least partially From: David Howells To: "Matthew Wilcox (Oracle)" Cc: linux-afs@lists.infradead.org, linux-cachefs@redhat.com, Marc Dionne , Jeffrey Altman , ceph-devel@vger.kernel.org, Jeff Layton , Jeff Layton , Ilya Dryomov , dhowells@redhat.com, Jeff Layton , Ilya Dryomov , linux-fsdevel@vger.kernel.org, linux-cachefs@redhat.com, linux-afs@lists.infradead.org, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, ceph-devel@vger.kernel.org, v9fs-developer@lists.sourceforge.net, devel@lists.orangefs.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Fri, 27 Aug 2021 10:43:27 +0100 Message-ID: <163005740700.2472992.12365214290752300378.stgit@warthog.procyon.org.uk> User-Agent: StGit/0.23 MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="gLlBbm/r"; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf11.hostedemail.com: domain of dhowells@redhat.com has no SPF policy when checking 216.205.24.124) smtp.mailfrom=dhowells@redhat.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: B59A0F000200 X-Stat-Signature: yk7jug3ssbt7o3nnj78z741hyprjcxqn X-HE-Tag: 1630057441-787435 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: Here's a set of patches to convert netfs and afs to use folios and to provide sufficient conversion for ceph that it can continue to use the netfs library. Jeff Layton is working on fully converting ceph. This based on top of part of Matthew Wilcox's folio changes[1] Changes: ver #2: - Reorder the patches to put both non-folio afs patches to the front. - Use page_offset() rather than manual calculation[2]. - Fix folio_inode() to directly access the inode[3]. David Link: https://git.infradead.org/users/willy/pagecache.git/shortlog/refs/heads/for-next [1] Link: https://lore.kernel.org/r/YST/0e92OdSH0zjg@casper.infradead.org/ [2] Link: https://lore.kernel.org/r/YST8OcVNy02Rivbm@casper.infradead.org/ [3] Link: https://lore.kernel.org/r/2408234.1628687271@warthog.procyon.org.uk/ # v0 Link: https://lore.kernel.org/r/162981147473.1901565.1455657509200944265.stgit@warthog.procyon.org.uk/ # v1 --- David Howells (6): afs: Fix afs_launder_page() to set correct start file position afs: Sort out symlink reading folio: Add a function to change the private data attached to a folio folio: Add a function to get the host inode for a folio netfs, afs, ceph: Use folios afs: Use folios in directory handling fs/afs/dir.c | 229 +++++++++++-------------- fs/afs/dir_edit.c | 154 ++++++++--------- fs/afs/file.c | 82 +++++---- fs/afs/inode.c | 6 +- fs/afs/internal.h | 49 +++--- fs/afs/write.c | 332 ++++++++++++++++++------------------- fs/ceph/addr.c | 80 ++++----- fs/netfs/read_helper.c | 165 +++++++++--------- include/linux/netfs.h | 12 +- include/linux/pagemap.h | 33 ++++ include/trace/events/afs.h | 21 +-- mm/page-writeback.c | 2 +- 12 files changed, 584 insertions(+), 581 deletions(-)