]> Pileus Git - ~andy/linux/blobdiff - fs/affs/inode.c
Linux 3.14
[~andy/linux] / fs / affs / inode.c
index 15c4842682292784ce095d85fb01a52615f7326a..0e092d08680edde3307aae65067bd41460e17b66 100644 (file)
@@ -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);