Loading fs/overlayfs/dir.c +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading fs/overlayfs/inode.c +3 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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. Loading Loading @@ -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; Loading fs/overlayfs/util.c +5 −5 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } } Loading @@ -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; Loading Loading
fs/overlayfs/dir.c +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
fs/overlayfs/inode.c +3 −3 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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. Loading Loading @@ -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; Loading
fs/overlayfs/util.c +5 −5 Original line number Diff line number Diff line Loading @@ -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); Loading @@ -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); } } Loading @@ -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; Loading