]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
overlayfs: use the new ->i_state accessors
authorMateusz Guzik <mjguzik@gmail.com>
Thu, 9 Oct 2025 07:59:25 +0000 (09:59 +0200)
committerChristian Brauner <brauner@kernel.org>
Mon, 20 Oct 2025 18:22:27 +0000 (20:22 +0200)
Change generated with coccinelle and fixed up by hand as appropriate.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/overlayfs/dir.c
fs/overlayfs/inode.c
fs/overlayfs/util.c

index a5e9ddf3023b3942fafb9adb2770f26780a1b86b..83b955a1d55cdde51890aed578f55be9724d5579 100644 (file)
@@ -686,7 +686,7 @@ static int ovl_create_object(struct dentry *dentry, int mode, dev_t rdev,
                goto out_drop_write;
 
        spin_lock(&inode->i_lock);
-       inode->i_state |= I_CREATING;
+       inode_state_set(inode, I_CREATING);
        spin_unlock(&inode->i_lock);
 
        inode_init_owner(&nop_mnt_idmap, inode, dentry->d_parent->d_inode, mode);
index aaa4cf579561299c50046f5ded03d93f056c370c..b7938dd43b958048d1fcdf59e7e6b76f521030ec 100644 (file)
@@ -1149,7 +1149,7 @@ struct inode *ovl_get_trap_inode(struct super_block *sb, struct dentry *dir)
        if (!trap)
                return ERR_PTR(-ENOMEM);
 
-       if (!(trap->i_state & I_NEW)) {
+       if (!(inode_state_read_once(trap) & I_NEW)) {
                /* Conflicting layer roots? */
                iput(trap);
                return ERR_PTR(-ELOOP);
@@ -1240,7 +1240,7 @@ struct inode *ovl_get_inode(struct super_block *sb,
                inode = ovl_iget5(sb, oip->newinode, key);
                if (!inode)
                        goto out_err;
-               if (!(inode->i_state & I_NEW)) {
+               if (!(inode_state_read_once(inode) & I_NEW)) {
                        /*
                         * Verify that the underlying files stored in the inode
                         * match those in the dentry.
@@ -1300,7 +1300,7 @@ struct inode *ovl_get_inode(struct super_block *sb,
        if (upperdentry)
                ovl_check_protattr(inode, upperdentry);
 
-       if (inode->i_state & I_NEW)
+       if (inode_state_read_once(inode) & I_NEW)
                unlock_new_inode(inode);
 out:
        return inode;
index f76672f2e686a44b8b417afd6bd9e44e6328ed82..2da1c035f716c2ebdb2b4226bc77305e895c41cf 100644 (file)
@@ -1019,8 +1019,8 @@ bool ovl_inuse_trylock(struct dentry *dentry)
        bool locked = false;
 
        spin_lock(&inode->i_lock);
-       if (!(inode->i_state & I_OVL_INUSE)) {
-               inode->i_state |= I_OVL_INUSE;
+       if (!(inode_state_read(inode) & I_OVL_INUSE)) {
+               inode_state_set(inode, I_OVL_INUSE);
                locked = true;
        }
        spin_unlock(&inode->i_lock);
@@ -1034,8 +1034,8 @@ void ovl_inuse_unlock(struct dentry *dentry)
                struct inode *inode = d_inode(dentry);
 
                spin_lock(&inode->i_lock);
-               WARN_ON(!(inode->i_state & I_OVL_INUSE));
-               inode->i_state &= ~I_OVL_INUSE;
+               WARN_ON(!(inode_state_read(inode) & I_OVL_INUSE));
+               inode_state_clear(inode, I_OVL_INUSE);
                spin_unlock(&inode->i_lock);
        }
 }
@@ -1046,7 +1046,7 @@ bool ovl_is_inuse(struct dentry *dentry)
        bool inuse;
 
        spin_lock(&inode->i_lock);
-       inuse = (inode->i_state & I_OVL_INUSE);
+       inuse = (inode_state_read(inode) & I_OVL_INUSE);
        spin_unlock(&inode->i_lock);
 
        return inuse;