[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 15/49] nfs: dynamically allocate the nfs-acl shrinker
- To: akpm@xxxxxxxxxxxxxxxxxxxx, david@xxxxxxxxxxxxx, tkhai@xxxxx, vbabka@xxxxxxx, roman.gushchin@xxxxxxxxx, djwong@xxxxxxxxxx, brauner@xxxxxxxxxx, paulmck@xxxxxxxxxx, tytso@xxxxxxx, steven.price@xxxxxxx, cel@xxxxxxxxxx, senozhatsky@xxxxxxxxxxxx, yujie.liu@xxxxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx, muchun.song@xxxxxxxxx
- From: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
- Date: Thu, 27 Jul 2023 17:06:57 +0800
- Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, x86@xxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, linux-erofs@xxxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx, cluster-devel@xxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, linux-mtd@xxxxxxxxxxxxxxxxxxx, rcu@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx, dm-devel@xxxxxxxxxx, linux-raid@xxxxxxxxxxxxxxx, linux-bcache@xxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-xfs@xxxxxxxxxxxxxxx, linux-btrfs@xxxxxxxxxxxxxxx, Muchun Song <songmuchun@xxxxxxxxxxxxx>
- Delivery-date: Thu, 27 Jul 2023 09:07:24 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 2023/7/27 16:04, Qi Zheng wrote:
Use new APIs to dynamically allocate the nfs-acl shrinker.
Signed-off-by: Qi Zheng <zhengqi.arch@xxxxxxxxxxxxx>
Reviewed-by: Muchun Song <songmuchun@xxxxxxxxxxxxx>
---
fs/nfs/super.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 2284f749d892..072d82e1be06 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -129,11 +129,7 @@ static void nfs_ssc_unregister_ops(void)
}
#endif /* CONFIG_NFS_V4_2 */
-static struct shrinker acl_shrinker = {
- .count_objects = nfs_access_cache_count,
- .scan_objects = nfs_access_cache_scan,
- .seeks = DEFAULT_SEEKS,
-};
+static struct shrinker *acl_shrinker;
/*
* Register the NFS filesystems
@@ -153,9 +149,17 @@ int __init register_nfs_fs(void)
ret = nfs_register_sysctl();
if (ret < 0)
goto error_2;
- ret = register_shrinker(&acl_shrinker, "nfs-acl");
- if (ret < 0)
+
+ acl_shrinker = shrinker_alloc(0, "nfs-acl");
+ if (!acl_shrinker)
goto error_3;
Here should set ret to -ENOMEM, will fix.
+
+ acl_shrinker->count_objects = nfs_access_cache_count;
+ acl_shrinker->scan_objects = nfs_access_cache_scan;
+ acl_shrinker->seeks = DEFAULT_SEEKS;
+
+ shrinker_register(acl_shrinker);
+
#ifdef CONFIG_NFS_V4_2
nfs_ssc_register_ops();
#endif
@@ -175,7 +179,7 @@ int __init register_nfs_fs(void)
*/
void __exit unregister_nfs_fs(void)
{
- unregister_shrinker(&acl_shrinker);
+ shrinker_free(acl_shrinker);
nfs_unregister_sysctl();
unregister_nfs4_fs();
#ifdef CONFIG_NFS_V4_2
|