diff options
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index f1a77449d032..471a4f7f4044 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -4354,8 +4354,12 @@ static int btrfs_setsize(struct inode *inode, struct iattr *attr) | |||
4354 | * these flags set. For all other operations the VFS set these flags | 4354 | * these flags set. For all other operations the VFS set these flags |
4355 | * explicitly if it wants a timestamp update. | 4355 | * explicitly if it wants a timestamp update. |
4356 | */ | 4356 | */ |
4357 | if (newsize != oldsize && (!(mask & (ATTR_CTIME | ATTR_MTIME)))) | 4357 | if (newsize != oldsize) { |
4358 | inode->i_ctime = inode->i_mtime = current_fs_time(inode->i_sb); | 4358 | inode_inc_iversion(inode); |
4359 | if (!(mask & (ATTR_CTIME | ATTR_MTIME))) | ||
4360 | inode->i_ctime = inode->i_mtime = | ||
4361 | current_fs_time(inode->i_sb); | ||
4362 | } | ||
4359 | 4363 | ||
4360 | if (newsize > oldsize) { | 4364 | if (newsize > oldsize) { |
4361 | truncate_pagecache(inode, newsize); | 4365 | truncate_pagecache(inode, newsize); |