X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fjfs%2Ffile.c;h=dd7442c5835864b0e04bdff5befbd0f020232bfb;hb=70f824ac8c369194e9499c59e687c6aa8b1a10c8;hp=9d3afd157f9908dc3278965efe353dcf42694092;hpb=b52c6402b5b42620571c36c74a12dcb45ec1e0d6;p=~andy%2Flinux diff --git a/fs/jfs/file.c b/fs/jfs/file.c index 9d3afd157f9..dd7442c5835 100644 --- a/fs/jfs/file.c +++ b/fs/jfs/file.c @@ -119,9 +119,12 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) iattr->ia_size != i_size_read(inode)) { inode_dio_wait(inode); - rc = vmtruncate(inode, iattr->ia_size); + rc = inode_newsize_ok(inode, iattr->ia_size); if (rc) return rc; + + truncate_setsize(inode, iattr->ia_size); + jfs_truncate(inode); } setattr_copy(inode, iattr); @@ -133,7 +136,6 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) } const struct inode_operations jfs_file_inode_operations = { - .truncate = jfs_truncate, .setxattr = jfs_setxattr, .getxattr = jfs_getxattr, .listxattr = jfs_listxattr,