Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1234825pxb; Fri, 22 Jan 2021 10:11:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJyp8EtnAk9K9Ndhsnj7wz9ZquDXU77W/YwgANSp7S9PxK3/uDGD1ZXheeW8IG4CUKE458JO X-Received: by 2002:aa7:d511:: with SMTP id y17mr4280352edq.112.1611339077700; Fri, 22 Jan 2021 10:11:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611339077; cv=none; d=google.com; s=arc-20160816; b=uRTnHzaX8D4hjXrsKLox/+o85Hor99DIbQetxSZRoNEkvGXR1L7LHsfn/Bx2Xs7WxH UFxm5DK3NtKu4SgtRPofVrDYdIxfCQ75ns9kvH2Bz7soVpfqYjIh/sJ+G1zt0hak4mff ivi2Z8Nrhn2mUcQA3eDbqJv32rRWCPI4+q8PVN/m9LvaXRk0rAAljhut2K1DRcaK4I8a H8RaD8M1YqUOGKlSmPMEJwLv1CrGt/yMJxZqmUjP7Hlwsv6J73+6jHiN1DUKzYbkRYyc hK282GQw+bynrnv9sBnKbHxEPl6Q5pFcLdZ2H/6N9UYitphgKn4KTpS4UoHA6Aef8rpD woKQ== 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:cc:to:from:dkim-signature; bh=2FoWUlt8B8AVieQMjOu3W/4wfQmszEDX4OQWvsHQe+c=; b=eO3cuAn4g6WoeXe0YmvUPReee8T1E5SdJSsjfUfw5RnIojB9Ml50N5i5bZAA8GzI0Y lo3LASzA2EYn+OUBMtgol1P9G2SYGbvfV3z3wG3NaSdfeeJyTYIYfuC4FG/N+HZvj1ev gPvHFboB+vB0ATb00FryWezhZ7yK9Zb1RMDFWUdXI7jkAssHN/oDu5ZOxvv97JS27rfb aBpqLkxJaRJ4vUBh+p82kDqnkSauTl/Oc7EebYiKUiamlgjH+38zJnnzjnwXOu+jx2Jk WDFpNN2QU30XnVTI0rl6x5qZOz9e4NYeayIzDfbQ8L51WGmqA0/0bs1mO7/LlI4gUurx +k0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JAev7YRm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 h4si3731497edd.105.2021.01.22.10.10.43; Fri, 22 Jan 2021 10:11:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-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=k20201202 header.b=JAev7YRm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 S1728836AbhAVR4u (ORCPT + 99 others); Fri, 22 Jan 2021 12:56:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:53830 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729400AbhAVRwB (ORCPT ); Fri, 22 Jan 2021 12:52:01 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id B5DFC23A79; Fri, 22 Jan 2021 17:51:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611337881; bh=aXohzE1fQDUVmRxIyf/Y3FvhHEDTX6DSYkej4pWfR0U=; h=From:To:Cc:Subject:Date:From; b=JAev7YRmy/xfSN9o/HFB2t4m0B8FzqwnnFmt9R06LKkLn5aF/FbLnYJM27kHekq00 RqGa4Zqos8yRvI/QboBQMFUDFsgLnjLSubzzLM95wzWj7spe5lN0YhzkbLab1vLcSM yfgh/bnOyOS6Ftud8OBQxx5MrWBPgE3Y5ytgyWcoUN3u9JCqOj62NPL/pSHD4wQNSs 1yxp0L+4BK0iiOJRlrStQCIlTfpA7zWo1wCyY/1n8zhi9Dyj2q23f5HNQ0Q+luZCfB LfSbj8BOHuqmXtZnkNF1NFv00teZuNXNjoWY/ilIqatdnAp/jEY3kI7VUihZxSfzF4 SVDdI/4KFuKZg== From: Jeff Layton To: ceph-devel@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, dhowells@redhat.com, willy@infradead.org, linux-cachefs@redhat.com, linux-kernel@vger.kernel.org Subject: [RFC PATCH 0/6] ceph: convert buffered read codepaths to new netfs API Date: Fri, 22 Jan 2021 12:51:12 -0500 Message-Id: <20210122175119.364381-1-jlayton@kernel.org> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset coverts ceph to use the new netfs API that David Howells has proposed [1]. It's a substantial reduction in code in the ceph layer itself, but the main impetus is to allow the VM, filesystem and fscache to better work together to optimize readahead on network filesystems. I think the resulting code is also easier to understand, and should be more maintainable as a lot of the pagecache handling is now done at the netfs layer. This has been lightly tested with xfstests. With fscache disabled, I saw no regressions. With fscache enabled, I still hit some bugs down in the fscache layer itself, but those seem to be present without this set as well. This doesn't seem to make any of that worse. [1]: https://lore.kernel.org/ceph-devel/1856291.1611259704@warthog.procyon.org.uk/T/#t Jeff Layton (6): ceph: disable old fscache readpage handling ceph: rework PageFsCache handling ceph: fix invalidation ceph: convert readpage to fscache read helper ceph: plug write_begin into read helper ceph: convert ceph_readpages to ceph_readahead fs/ceph/Kconfig | 1 + fs/ceph/addr.c | 536 +++++++++++++++++++----------------------------- fs/ceph/cache.c | 123 ----------- fs/ceph/cache.h | 101 +++------ fs/ceph/caps.c | 10 +- fs/ceph/inode.c | 1 + 6 files changed, 236 insertions(+), 536 deletions(-) -- 2.29.2