Add a simple scope-based helper to put an inode reference, similar to the fput() helper.
This is used in a following commit. Cc: Al Viro <[email protected]> Cc: Christian Brauner <[email protected]> Cc: Jeff Layton <[email protected]> Cc: Josef Bacik <[email protected]> Signed-off-by: Mickaël Salaün <[email protected]> Link: https://lore.kernel.org/r/[email protected] --- Changes since v3: - New patch. --- include/linux/fs.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 7e29433c5ecc..bd5a28b0871f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -47,6 +47,8 @@ #include <linux/rw_hint.h> #include <linux/file_ref.h> #include <linux/unicode.h> +#include <linux/cleanup.h> +#include <linux/err.h> #include <asm/byteorder.h> #include <uapi/linux/fs.h> @@ -2698,6 +2700,8 @@ extern void iput(struct inode *); int inode_update_timestamps(struct inode *inode, int flags); int generic_update_time(struct inode *, int); +DEFINE_FREE(iput, struct inode *, if (!IS_ERR_OR_NULL(_T)) iput(_T)) + /* /sys/fs */ extern struct kobject *fs_kobj; @@ -3108,8 +3112,6 @@ static inline bool is_dot_dotdot(const char *name, size_t len) (len == 1 || (len == 2 && name[1] == '.')); } -#include <linux/err.h> - /* needed for stackable file system support */ extern loff_t default_llseek(struct file *file, loff_t offset, int whence); -- 2.47.1
