diff options
Diffstat (limited to 'fs/affs/inode.c')
| -rw-r--r-- | fs/affs/inode.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/affs/inode.c b/fs/affs/inode.c index 15c48426822..0e092d08680 100644 --- a/fs/affs/inode.c +++ b/fs/affs/inode.c @@ -237,9 +237,12 @@ affs_notify_change(struct dentry *dentry, struct iattr *attr)  	if ((attr->ia_valid & ATTR_SIZE) &&  	    attr->ia_size != i_size_read(inode)) { -		error = vmtruncate(inode, attr->ia_size); +		error = inode_newsize_ok(inode, attr->ia_size);  		if (error)  			return error; + +		truncate_setsize(inode, attr->ia_size); +		affs_truncate(inode);  	}  	setattr_copy(inode, attr);  |