1

inode: make __iget() a static inline

bcachefs is switching to an rhashtable for vfs inodes instead of the
standard inode.c hashtable, so we need this exported, or - a static
inline makes more sense for a single atomic_inc().

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2024-08-08 11:18:21 -04:00
parent 27663d7784
commit 88d2ae0e6e
2 changed files with 8 additions and 9 deletions

View File

@ -438,14 +438,6 @@ static void init_once(void *foo)
inode_init_once(inode); inode_init_once(inode);
} }
/*
* inode->i_lock must be held
*/
void __iget(struct inode *inode)
{
atomic_inc(&inode->i_count);
}
/* /*
* get additional reference to inode; caller must already hold one. * get additional reference to inode; caller must already hold one.
*/ */

View File

@ -3094,7 +3094,14 @@ static inline bool is_zero_ino(ino_t ino)
return (u32)ino == 0; return (u32)ino == 0;
} }
extern void __iget(struct inode * inode); /*
* inode->i_lock must be held
*/
static inline void __iget(struct inode *inode)
{
atomic_inc(&inode->i_count);
}
extern void iget_failed(struct inode *); extern void iget_failed(struct inode *);
extern void clear_inode(struct inode *); extern void clear_inode(struct inode *);
extern void __destroy_inode(struct inode *); extern void __destroy_inode(struct inode *);