|
@@ -1184,6 +1184,8 @@ static int ext2_setsize(struct inode *inode, loff_t newsize)
|
|
if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
|
|
if (IS_APPEND(inode) || IS_IMMUTABLE(inode))
|
|
return -EPERM;
|
|
return -EPERM;
|
|
|
|
|
|
|
|
+ inode_dio_wait(inode);
|
|
|
|
+
|
|
if (mapping_is_xip(inode->i_mapping))
|
|
if (mapping_is_xip(inode->i_mapping))
|
|
error = xip_truncate_page(inode->i_mapping, newsize);
|
|
error = xip_truncate_page(inode->i_mapping, newsize);
|
|
else if (test_opt(inode->i_sb, NOBH))
|
|
else if (test_opt(inode->i_sb, NOBH))
|