Loading fs/ext4/xattr.c +10 −6 Original line number Diff line number Diff line Loading @@ -2024,7 +2024,8 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!entry->e_value_inum) continue; ea_ino = le32_to_cpu(entry->e_value_inum); if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0) { error = ext4_expand_ino_array(lea_ino_array, ea_ino); if (error) { brelse(iloc.bh); goto cleanup; } Loading @@ -2035,7 +2036,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, delete_external_ea: if (!EXT4_I(inode)->i_file_acl) { /* add xattr inode to orphan list */ ext4_xattr_inode_orphan_add(handle, inode, credits, error = ext4_xattr_inode_orphan_add(handle, inode, credits, *lea_ino_array); goto cleanup; } Loading @@ -2043,12 +2044,14 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!bh) { EXT4_ERROR_INODE(inode, "block %llu read error", EXT4_I(inode)->i_file_acl); error = -EIO; goto cleanup; } if (BHDR(bh)->h_magic != cpu_to_le32(EXT4_XATTR_MAGIC) || BHDR(bh)->h_blocks != cpu_to_le32(1)) { EXT4_ERROR_INODE(inode, "bad block %llu", EXT4_I(inode)->i_file_acl); error = -EFSCORRUPTED; goto cleanup; } Loading @@ -2057,7 +2060,8 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!entry->e_value_inum) continue; ea_ino = le32_to_cpu(entry->e_value_inum); if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0) error = ext4_expand_ino_array(lea_ino_array, ea_ino); if (error) goto cleanup; entry->e_value_inum = 0; } Loading @@ -2065,7 +2069,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, /* add xattr inode to orphan list */ error = ext4_xattr_inode_orphan_add(handle, inode, credits, *lea_ino_array); if (error != 0) if (error) goto cleanup; if (!IS_NOQUOTA(inode)) Loading @@ -2075,7 +2079,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, error = ext4_journal_extend(handle, credits); if (error > 0) error = ext4_journal_restart(handle, credits); if (error != 0) { if (error) { ext4_warning(inode->i_sb, "couldn't extend journal (err %d)", error); goto cleanup; Loading Loading
fs/ext4/xattr.c +10 −6 Original line number Diff line number Diff line Loading @@ -2024,7 +2024,8 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!entry->e_value_inum) continue; ea_ino = le32_to_cpu(entry->e_value_inum); if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0) { error = ext4_expand_ino_array(lea_ino_array, ea_ino); if (error) { brelse(iloc.bh); goto cleanup; } Loading @@ -2035,7 +2036,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, delete_external_ea: if (!EXT4_I(inode)->i_file_acl) { /* add xattr inode to orphan list */ ext4_xattr_inode_orphan_add(handle, inode, credits, error = ext4_xattr_inode_orphan_add(handle, inode, credits, *lea_ino_array); goto cleanup; } Loading @@ -2043,12 +2044,14 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!bh) { EXT4_ERROR_INODE(inode, "block %llu read error", EXT4_I(inode)->i_file_acl); error = -EIO; goto cleanup; } if (BHDR(bh)->h_magic != cpu_to_le32(EXT4_XATTR_MAGIC) || BHDR(bh)->h_blocks != cpu_to_le32(1)) { EXT4_ERROR_INODE(inode, "bad block %llu", EXT4_I(inode)->i_file_acl); error = -EFSCORRUPTED; goto cleanup; } Loading @@ -2057,7 +2060,8 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, if (!entry->e_value_inum) continue; ea_ino = le32_to_cpu(entry->e_value_inum); if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0) error = ext4_expand_ino_array(lea_ino_array, ea_ino); if (error) goto cleanup; entry->e_value_inum = 0; } Loading @@ -2065,7 +2069,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, /* add xattr inode to orphan list */ error = ext4_xattr_inode_orphan_add(handle, inode, credits, *lea_ino_array); if (error != 0) if (error) goto cleanup; if (!IS_NOQUOTA(inode)) Loading @@ -2075,7 +2079,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode, error = ext4_journal_extend(handle, credits); if (error > 0) error = ext4_journal_restart(handle, credits); if (error != 0) { if (error) { ext4_warning(inode->i_sb, "couldn't extend journal (err %d)", error); goto cleanup; Loading