Message ID | 20250212180459.1022983-1-mjguzik@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | vfs: inline new_inode_pseudo() and de-staticize alloc_inode() | expand |
On Wed, 12 Feb 2025 19:04:59 +0100, Mateusz Guzik wrote: > The former is a no-op wrapper with the same argument. > > I left it in place to not lose the information who needs it -- one day > "pseudo" inodes may start differing from what alloc_inode() returns. > > In the meantime no point taking a detour. > > [...] Applied to the vfs-6.15.misc branch of the vfs/vfs.git tree. Patches in the vfs-6.15.misc branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs-6.15.misc [1/1] vfs: inline new_inode_pseudo() and de-staticize alloc_inode() https://git.kernel.org/vfs/vfs/c/e298fc4edca8
On Wed 12-02-25 19:04:59, Mateusz Guzik wrote: > The former is a no-op wrapper with the same argument. > > I left it in place to not lose the information who needs it -- one day > "pseudo" inodes may start differing from what alloc_inode() returns. > > In the meantime no point taking a detour. > > Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > fs/inode.c | 29 ++++++++++++----------------- > include/linux/fs.h | 6 +++++- > 2 files changed, 17 insertions(+), 18 deletions(-) > > diff --git a/fs/inode.c b/fs/inode.c > index 5587aabdaa5e..6e251e43bf70 100644 > --- a/fs/inode.c > +++ b/fs/inode.c > @@ -327,7 +327,17 @@ static void i_callback(struct rcu_head *head) > free_inode_nonrcu(inode); > } > > -static struct inode *alloc_inode(struct super_block *sb) > +/** > + * alloc_inode - obtain an inode > + * @sb: superblock > + * > + * Allocates a new inode for given superblock. > + * Inode wont be chained in superblock s_inodes list > + * This means : > + * - fs can't be unmount > + * - quotas, fsnotify, writeback can't work > + */ > +struct inode *alloc_inode(struct super_block *sb) > { > const struct super_operations *ops = sb->s_op; > struct inode *inode; > @@ -1159,21 +1169,6 @@ unsigned int get_next_ino(void) > } > EXPORT_SYMBOL(get_next_ino); > > -/** > - * new_inode_pseudo - obtain an inode > - * @sb: superblock > - * > - * Allocates a new inode for given superblock. > - * Inode wont be chained in superblock s_inodes list > - * This means : > - * - fs can't be unmount > - * - quotas, fsnotify, writeback can't work > - */ > -struct inode *new_inode_pseudo(struct super_block *sb) > -{ > - return alloc_inode(sb); > -} > - > /** > * new_inode - obtain an inode > * @sb: superblock > @@ -1190,7 +1185,7 @@ struct inode *new_inode(struct super_block *sb) > { > struct inode *inode; > > - inode = new_inode_pseudo(sb); > + inode = alloc_inode(sb); > if (inode) > inode_sb_list_add(inode); > return inode; > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 640949116cf9..ac5d699e3aab 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -3287,7 +3287,11 @@ static inline void __iget(struct inode *inode) > extern void iget_failed(struct inode *); > extern void clear_inode(struct inode *); > extern void __destroy_inode(struct inode *); > -extern struct inode *new_inode_pseudo(struct super_block *sb); > +struct inode *alloc_inode(struct super_block *sb); > +static inline struct inode *new_inode_pseudo(struct super_block *sb) > +{ > + return alloc_inode(sb); > +} > extern struct inode *new_inode(struct super_block *sb); > extern void free_inode_nonrcu(struct inode *inode); > extern int setattr_should_drop_suidgid(struct mnt_idmap *, struct inode *); > -- > 2.43.0 >
diff --git a/fs/inode.c b/fs/inode.c index 5587aabdaa5e..6e251e43bf70 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -327,7 +327,17 @@ static void i_callback(struct rcu_head *head) free_inode_nonrcu(inode); } -static struct inode *alloc_inode(struct super_block *sb) +/** + * alloc_inode - obtain an inode + * @sb: superblock + * + * Allocates a new inode for given superblock. + * Inode wont be chained in superblock s_inodes list + * This means : + * - fs can't be unmount + * - quotas, fsnotify, writeback can't work + */ +struct inode *alloc_inode(struct super_block *sb) { const struct super_operations *ops = sb->s_op; struct inode *inode; @@ -1159,21 +1169,6 @@ unsigned int get_next_ino(void) } EXPORT_SYMBOL(get_next_ino); -/** - * new_inode_pseudo - obtain an inode - * @sb: superblock - * - * Allocates a new inode for given superblock. - * Inode wont be chained in superblock s_inodes list - * This means : - * - fs can't be unmount - * - quotas, fsnotify, writeback can't work - */ -struct inode *new_inode_pseudo(struct super_block *sb) -{ - return alloc_inode(sb); -} - /** * new_inode - obtain an inode * @sb: superblock @@ -1190,7 +1185,7 @@ struct inode *new_inode(struct super_block *sb) { struct inode *inode; - inode = new_inode_pseudo(sb); + inode = alloc_inode(sb); if (inode) inode_sb_list_add(inode); return inode; diff --git a/include/linux/fs.h b/include/linux/fs.h index 640949116cf9..ac5d699e3aab 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -3287,7 +3287,11 @@ static inline void __iget(struct inode *inode) extern void iget_failed(struct inode *); extern void clear_inode(struct inode *); extern void __destroy_inode(struct inode *); -extern struct inode *new_inode_pseudo(struct super_block *sb); +struct inode *alloc_inode(struct super_block *sb); +static inline struct inode *new_inode_pseudo(struct super_block *sb) +{ + return alloc_inode(sb); +} extern struct inode *new_inode(struct super_block *sb); extern void free_inode_nonrcu(struct inode *inode); extern int setattr_should_drop_suidgid(struct mnt_idmap *, struct inode *);
The former is a no-op wrapper with the same argument. I left it in place to not lose the information who needs it -- one day "pseudo" inodes may start differing from what alloc_inode() returns. In the meantime no point taking a detour. Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> --- fs/inode.c | 29 ++++++++++++----------------- include/linux/fs.h | 6 +++++- 2 files changed, 17 insertions(+), 18 deletions(-)