]> Pileus Git - ~andy/linux/blobdiff - fs/sysv/file.c
Merge tag 'sound-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
[~andy/linux] / fs / sysv / file.c
index 0a65939508e964f609b6e5ab7432cc2e177a45ad..9d4dc6831792a23270148c2d26b0423f656b505c 100644 (file)
@@ -41,9 +41,11 @@ static int sysv_setattr(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);
+               sysv_truncate(inode);
        }
 
        setattr_copy(inode, attr);
@@ -52,7 +54,6 @@ static int sysv_setattr(struct dentry *dentry, struct iattr *attr)
 }
 
 const struct inode_operations sysv_file_inode_operations = {
-       .truncate       = sysv_truncate,
        .setattr        = sysv_setattr,
        .getattr        = sysv_getattr,
 };