aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r--fs/ext4/inode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 6a002a6d0624..eaa22ae9f1f6 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -170,6 +170,9 @@ void ext4_delete_inode(struct inode *inode)
170 handle_t *handle; 170 handle_t *handle;
171 int err; 171 int err;
172 172
173 if (!is_bad_inode(inode))
174 vfs_dq_init(inode);
175
173 if (ext4_should_order_data(inode)) 176 if (ext4_should_order_data(inode))
174 ext4_begin_ordered_truncate(inode, 0); 177 ext4_begin_ordered_truncate(inode, 0);
175 truncate_inode_pages(&inode->i_data, 0); 178 truncate_inode_pages(&inode->i_data, 0);
@@ -5251,6 +5254,8 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
5251 if (error) 5254 if (error)
5252 return error; 5255 return error;
5253 5256
5257 if (ia_valid & ATTR_SIZE)
5258 vfs_dq_init(inode);
5254 if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || 5259 if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
5255 (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { 5260 (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) {
5256 handle_t *handle; 5261 handle_t *handle;