ntfs: drop vmtruncate
Subsystems (2)
PATCH 18/21 ntfs: drop vmtruncate
Removed vmtruncate
Signed-off-by Marco Stornelli <[email protected]>
Reviewed-by Anton Altaparmakov <[email protected]>
--- fs/ntfs/file.c | 16 +++++++++++++--- fs/ntfs/inode.c | 8 ++++++-- fs/ntfs/inode.h | 4 ++++ 3 files changed, 23 insertions(+), 5 deletions(-)
fs/ntfs/file.c +13 -3
@@ -1762,6 +1762,16 @@ err_out:return err; } +static void ntfs_write_failed (struct address_space *mapping,loff_t to) +{ +struct inode *inode = mapping->host; + +if (to > inode->i_size) { +truncate_pagecache (inode, to, inode->i_size); +ntfs_truncate_vfs (inode); + } +} +/** * ntfs_file_buffered_write - *
@@ -2022,8 +2032,9 @@ static ssize_t ntfs_file_buffered_write(struct kiocb *iocb,* allocated space, which is not a disaster. */ i_size =i_size_read (vi); -if (pos + bytes > i_size) -vmtruncate (vi, i_size); +if (pos + bytes > i_size) { +ntfs_write_failed (mapping, pos + bytes); + }break ; } }
@@ -2227,7 +2238,6 @@ const struct file_operations ntfs_file_ops = {const struct inode_operations ntfs_file_inode_ops = { #ifdef NTFS_RW - .truncate = ntfs_truncate_vfs, .setattr = ntfs_setattr, #endif /* NTFS_RW */ };
fs/ntfs/inode.c +6 -2
@@ -2866,9 +2866,11 @@ conv_err_out:* * See ntfs_truncate() description above for details. */ +#ifdef NTFS_RW void ntfs_truncate_vfs (struct inode *vi) {ntfs_truncate (vi); } +#endif /** * ntfs_setattr - called from notify_change() when an attribute is being changed
@@ -2914,8 +2916,10 @@ int ntfs_setattr(struct dentry *dentry, struct iattr *attr)NInoCompressed (ni) ? "compressed" : "encrypted"); err = -EOPNOTSUPP ; - }else - err =vmtruncate (vi, attr->ia_size); + }else { +truncate_setsize (vi, attr->ia_size); +ntfs_truncate_vfs (vi); + }if (err || ia_valid ==ATTR_SIZE ) goto out; }else {
fs/ntfs/inode.h +4 -0
@@ -316,6 +316,10 @@ static inline void ntfs_commit_inode(struct inode *vi)return ; } +#else + +static inline void ntfs_truncate_vfs (struct inode *vi) {} +#endif /* NTFS_RW */ #endif /* _LINUX_NTFS_INODE_H */
Signature · 1 line
1.7.3.4