diff options
author | Christian Brauner <brauner@kernel.org> | 2025-06-18 22:53:41 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2025-06-19 14:28:24 +0200 |
commit | 0f93d71b9d17a8b3fcb38b5e66ac5bd94f56a8de (patch) | |
tree | 6ac031174021dd2e7a825881feb45e26e0d7a40b | |
parent | 5ee83f8d1af4d069475eabd9a5ed551b3d2cf9a8 (diff) |
pidfs: remove custom inode allocation
We don't need it anymore as persistent information is allocated lazily
and stashed in struct pid.
Link: https://lore.kernel.org/20250618-work-pidfs-persistent-v2-7-98f3456fd552@kernel.org
Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r-- | fs/pidfs.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/fs/pidfs.c b/fs/pidfs.c index 72aac4f7b7d5..c49c53d6ae51 100644 --- a/fs/pidfs.c +++ b/fs/pidfs.c @@ -27,7 +27,6 @@ #define PIDFS_PID_DEAD ERR_PTR(-ESRCH) -static struct kmem_cache *pidfs_cachep __ro_after_init; static struct kmem_cache *pidfs_attr_cachep __ro_after_init; /* @@ -45,15 +44,6 @@ struct pidfs_attr { struct pidfs_exit_info *exit_info; }; -struct pidfs_inode { - struct inode vfs_inode; -}; - -static inline struct pidfs_inode *pidfs_i(struct inode *inode) -{ - return container_of(inode, struct pidfs_inode, vfs_inode); -} - static struct rb_root pidfs_ino_tree = RB_ROOT; #if BITS_PER_LONG == 32 @@ -686,27 +676,9 @@ static void pidfs_evict_inode(struct inode *inode) put_pid(pid); } -static struct inode *pidfs_alloc_inode(struct super_block *sb) -{ - struct pidfs_inode *pi; - - pi = alloc_inode_sb(sb, pidfs_cachep, GFP_KERNEL); - if (!pi) - return NULL; - - return &pi->vfs_inode; -} - -static void pidfs_free_inode(struct inode *inode) -{ - kfree(pidfs_i(inode)); -} - static const struct super_operations pidfs_sops = { - .alloc_inode = pidfs_alloc_inode, .drop_inode = generic_delete_inode, .evict_inode = pidfs_evict_inode, - .free_inode = pidfs_free_inode, .statfs = simple_statfs, }; @@ -1067,19 +1039,8 @@ void pidfs_put_pid(struct pid *pid) dput(pid->stashed); } -static void pidfs_inode_init_once(void *data) -{ - struct pidfs_inode *pi = data; - - inode_init_once(&pi->vfs_inode); -} - void __init pidfs_init(void) { - pidfs_cachep = kmem_cache_create("pidfs_cache", sizeof(struct pidfs_inode), 0, - (SLAB_HWCACHE_ALIGN | SLAB_RECLAIM_ACCOUNT | - SLAB_ACCOUNT | SLAB_PANIC), - pidfs_inode_init_once); pidfs_attr_cachep = kmem_cache_create("pidfs_attr_cache", sizeof(struct pidfs_attr), 0, (SLAB_HWCACHE_ALIGN | SLAB_RECLAIM_ACCOUNT | SLAB_ACCOUNT | SLAB_PANIC), NULL); |