lkml.org 
[lkml]   [2023]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 13/47] nfs: dynamically allocate the nfs-acl shrinker
    Date
    Use new APIs to dynamically allocate the nfs-acl shrinker.

    Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com>
    ---
    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..a90b12593383 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;
    +
    + 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_unregister(acl_shrinker);
    nfs_unregister_sysctl();
    unregister_nfs4_fs();
    #ifdef CONFIG_NFS_V4_2
    --
    2.30.2
    \
     
     \ /
      Last update: 2023-07-24 11:52    [W:5.331 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site