From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA101EB64DC for ; Wed, 28 Jun 2023 09:28:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2590A8D0006; Wed, 28 Jun 2023 05:28:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 207DC8D0001; Wed, 28 Jun 2023 05:28:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A9CB8D0006; Wed, 28 Jun 2023 05:28:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EFDBB8D0001 for ; Wed, 28 Jun 2023 05:28:00 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BD80880D4A for ; Wed, 28 Jun 2023 09:28:00 +0000 (UTC) X-FDA: 80951629920.25.A970692 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf09.hostedemail.com (Postfix) with ESMTP id 0B22F14000C for ; Wed, 28 Jun 2023 09:27:58 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=W8QPF17c; spf=pass (imf09.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687944479; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=P/gk2AhepmXuwb9vvJ/5cFsWtJI1cMoNRWVZrEHBxec=; b=UMog3Me7hjOywN2K96ipyEvbvV0f1zW6FGz2C0vHHIahBYW3a3HA8y7B8zek2XBhnjC52y tmCI5xvZ9b/C2BMbkbI5VCXSe858DZrrZ0Zeah8NTJjUXH1Pav+dM+eixg/x0kT3JrcQL5 MI8OqD8xHNSH3ZgR8MiZyx2G9sdyt98= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687944479; a=rsa-sha256; cv=none; b=STzaWMtDpeqMVqvKcYbKhhwoF793VavnL1oztTbM9YvkfOvuexBP/Mjcf0hKHtLaHytq2V yljgNVhVEgh8/eJAQNlyTuX+c4lvulU7lHrSY/MInqCQQgFyGZM9pdwhEztZcmVPqYttwL wKJxzLbyj7B1Gbk+VuuXuJFRfzpB9Lc= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=W8QPF17c; spf=pass (imf09.hostedemail.com: domain of brauner@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=brauner@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id F21AB612B3; Wed, 28 Jun 2023 09:27:57 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 39153C433C8; Wed, 28 Jun 2023 09:27:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687944477; bh=rwnsv21g32JXiXNswsAfY6WiuF/kxcFFNhiJt6w5NV8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=W8QPF17cVXIk64x3bFK8BmFHVEYVWAecEqhFNLbAia3vKgHQUEDMb5ABR/fGFm5Qz My6q2IpyBrChae1t1XVnspNmB24sf0niTXaRsfGhzLcztg4yi+EQaROL4weaKeEBou eOus+K1H7qtzIDx5FOCnXzZjvoS6PyBbcSOm8V2F03/fmgF8PV5yph3J0wMFJbTnUC h29mO76+sMiqjPBVeHzBsy8OIQtYDjh8TzeGY3TkQZYUW9s+G0Ph38nBU4eeqx8V80 ttTiZYgqI+5qtSHPIaYUxgjbqzaaFE585DJQw3MCwhgKj5Bd6FMf/Ox6WF23SBAdSp WerYGy47T4z1g== Date: Wed, 28 Jun 2023 11:27:52 +0200 From: Christian Brauner To: Chuck Lever Cc: viro@zeniv.linux.org.uk, hughd@google.com, akpm@linux-foundation.org, Chuck Lever , jlayton@redhat.com, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v5 1/3] libfs: Add directory operations for stable offsets Message-ID: <20230628-geldentwertung-weggehen-97e784bde4f4@brauner> References: <168789864000.157531.11122232592994999253.stgit@manet.1015granger.net> <168789918896.157531.14644838088821804546.stgit@manet.1015granger.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <168789918896.157531.14644838088821804546.stgit@manet.1015granger.net> X-Stat-Signature: g31qw8ey57iisf5fzyrsa7ek8s6f4buo X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 0B22F14000C X-Rspam-User: X-HE-Tag: 1687944478-170937 X-HE-Meta: U2FsdGVkX18cv6v9HdJe0Q7gcwZrpmEz/fIQBTLTR9KGpEL2fnuqFRUbXrN24TobNUVkJg5NCcVrfGpLKPlVv4vQLiTTf2i7RQtRBlRx9a6Ap6mLPwh80mYXIWdrG3t/PR2sTo/39q8ouilAeqLlqzaKCyDidXyGsUnRO5OzDJAnp8kV+kIwMHtlt9TTsw4uJLB+RH4pEQoYh3n48m30YmTG3nZf+igb4F3tv9+jOEFjVmDi/G2rSpE9qmUk5bXUeWkfegDCMqFALmi7IpkqpHMPAwm46uyGtv3B1rAxR/r+xdouiuRn3KpkvelSEFdZh+40NRgiRkhAHsTD93PDWBLrsnLJFsrul6FUMYtaglooAHt6ohXKtE24dTq2Nso3EBDm80qm2DncCHBM8xUF2B3vg41oDVbQfkcxjWPpOAkNEkoavOXpdCpLN6asJhC8E268dRm+wVp5b1dv7+1FOdaVcotSYdNTfKEtKYefm0Eaykno0FqYjMgXfIE7y0mW7iLtTEnJuOE2MdgksMVgTLoPEbgA+HFaIudNRopZOEl21tvAHpvIan2lM7e5nMocSX5C5v0mVnKwM3vBpBSSBWRlA3OOkkCzWcY5JhslX3C2XGYaM6UbWEJSGTPkFBEVdLD6/SpCJZcXeCWOvv4RrbUZSG/hi24RTh+GjkvVK+XBM88aC02V+v5193OLwjeF7VEPS/fRrw5IVftURXy3ysKxmzdRpn1t+/rYoQX2jxQwusRNSyDVwlv1Sy5XmykGrX0wts1SLkXOEhvxvxUCyew4nKJQnQQWAShh5O+4f6Lw12VNV2fn+RbGntkIWtjY5fx/QPk2AKJLRHJp6JsNontFaccTYoYspBwUXts1suBH35LIt4WZE+lBN/Q8JLYDlCiuvm2CRU+YFb4Wjy0pXwjeHX5Q7pqDGkXCFUcfOvVZNk260soCfbju+WRidG6nPcm5m6CC931GHOcSqs3 VU8b1JhI C28C0CoTgzIOGQeGmhwqKtuJeT7HFOoyUFaJpTvRroxAKYytLUkUSkBubSR0mKqjxjZMxCq4PmbKnjs/FIR/x805YV26pIrqxTVm1Lod8XKbA8uSAlLQlp0hjLCQAWtlinKOXKjqwGsO3K1gaJWj7x1IJ0Iym+bZc2Cac0z/nQ/f51xa49srrzm+4kS1BJO90Q8iptUaXxdpBV/g8lSZPYVasczmrY+HjB1bOERw6xoNqGEH3zTeoqwIBbKmbHkIfCErwh6hvfBzFYtQ+Z4qKoDI6uEyl4VY7Ia4oiBFZSWlYQ3HWCCAaj9JkSg== 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: On Tue, Jun 27, 2023 at 04:53:09PM -0400, Chuck Lever wrote: > From: Chuck Lever > > Create a vector of directory operations in fs/libfs.c that handles > directory seeks and readdir via stable offsets instead of the > current cursor-based mechanism. > > For the moment these are unused. > > Signed-off-by: Chuck Lever > --- Could we just drop the "stable_" prefix and just have: // internal helpers offset_dir_emit() offset_get() offset_set() offset_dir_llseek() find_next_offset() I'd also collapse offset_iterate_dir() into offset_readdir(). // exported and published helpers simple_offset_init() simple_offset_add() simple_offset_rename_exchange() simple_offset_destroy() struct offset_ctx *(*get_offset)(struct inode *inode); const struct file_operations simple_offset_dir_operations; > fs/libfs.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > include/linux/fs.h | 19 ++++ > 2 files changed, 271 insertions(+) > > diff --git a/fs/libfs.c b/fs/libfs.c > index 89cf614a3271..9940dce049e6 100644 > --- a/fs/libfs.c > +++ b/fs/libfs.c > @@ -239,6 +239,258 @@ const struct inode_operations simple_dir_inode_operations = { > }; > EXPORT_SYMBOL(simple_dir_inode_operations); > > +static struct stable_offset_ctx *stable_ctx_get(struct inode *inode) > +{ > + return inode->i_op->get_so_ctx(inode); > +} I would suggest to get rid of this helper. It just needlessly hides that all we do is inode->i_op->().