diff options
Diffstat (limited to 'fs/ntfs/inode.c')
| -rw-r--r-- | fs/ntfs/inode.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 1d27331e6fc..d3e118cc6ff 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -2866,9 +2866,11 @@ conv_err_out:   *   * See ntfs_truncate() description above for details.   */ +#ifdef NTFS_RW  void ntfs_truncate_vfs(struct inode *vi) {  	ntfs_truncate(vi);  } +#endif  /**   * ntfs_setattr - called from notify_change() when an attribute is being changed @@ -2914,8 +2916,10 @@ int ntfs_setattr(struct dentry *dentry, struct iattr *attr)  						NInoCompressed(ni) ?  						"compressed" : "encrypted");  				err = -EOPNOTSUPP; -			} else -				err = vmtruncate(vi, attr->ia_size); +			} else { +				truncate_setsize(vi, attr->ia_size); +				ntfs_truncate_vfs(vi); +			}  			if (err || ia_valid == ATTR_SIZE)  				goto out;  		} else {  |