diff options
Diffstat (limited to 'fs/jfs/file.c')
-rw-r--r-- | fs/jfs/file.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/jfs/file.c b/fs/jfs/file.c index 9d3afd157f99..dd7442c58358 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c | |||
@@ -119,9 +119,12 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) | |||
119 | iattr->ia_size != i_size_read(inode)) { | 119 | iattr->ia_size != i_size_read(inode)) { |
120 | inode_dio_wait(inode); | 120 | inode_dio_wait(inode); |
121 | 121 | ||
122 | rc = vmtruncate(inode, iattr->ia_size); | 122 | rc = inode_newsize_ok(inode, iattr->ia_size); |
123 | if (rc) | 123 | if (rc) |
124 | return rc; | 124 | return rc; |
125 | |||
126 | truncate_setsize(inode, iattr->ia_size); | ||
127 | jfs_truncate(inode); | ||
125 | } | 128 | } |
126 | 129 | ||
127 | setattr_copy(inode, iattr); | 130 | setattr_copy(inode, iattr); |
@@ -133,7 +136,6 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) | |||
133 | } | 136 | } |
134 | 137 | ||
135 | const struct inode_operations jfs_file_inode_operations = { | 138 | const struct inode_operations jfs_file_inode_operations = { |
136 | .truncate = jfs_truncate, | ||
137 | .setxattr = jfs_setxattr, | 139 | .setxattr = jfs_setxattr, |
138 | .getxattr = jfs_getxattr, | 140 | .getxattr = jfs_getxattr, |
139 | .listxattr = jfs_listxattr, | 141 | .listxattr = jfs_listxattr, |