hfsplus: drop vmtruncate
Subsystems (2)
PATCH 13/22 hfsplus: drop vmtruncate
Removed vmtruncate.
Signed-off-by Marco Stornelli <[email protected]>
--- fs/hfsplus/inode.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-)
fs/hfsplus/inode.c +13 -6
@@ -40,8 +40,11 @@ static int hfsplus_write_begin(struct file *file, struct address_space *mapping, &HFSPLUS_I(mapping->host)->phys_size);if (unlikely (ret)) {loff_t isize = mapping->host->i_size; -if (pos + len > isize) -vmtruncate (mapping->host, isize); +if ((pos + len > isize) && +inode_newsize_ok (mapping->host, isize) ==0 ) { +truncate_setsize (mapping->host, isize); +hfsplus_file_truncate (mapping->host); + } }return ret;
@@ -130,8 +133,10 @@ static ssize_t hfsplus_direct_IO(int rw, struct kiocb *iocb,loff_t isize =i_size_read (inode);loff_t end = offset +iov_length (iov, nr_segs); -if (end > isize) -vmtruncate (inode, isize); +if ((end > isize) &&inode_newsize_ok (inode, isize) ==0 ) { +truncate_setsize (inode, isize); +hfsplus_file_truncate (inode); + } }return ret;
@@ -301,9 +306,12 @@ static int hfsplus_setattr(struct dentry *dentry, struct iattr *attr) attr->ia_size != i_size_read(inode)) {inode_dio_wait (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); +hfsplus_file_truncate (inode); }setattr_copy (inode, attr);
@@ -358,7 +366,6 @@ int hfsplus_file_fsync(struct file *file, loff_t start, loff_t end,static const struct inode_operations hfsplus_file_inode_operations = { .lookup = hfsplus_file_lookup, - .truncate = hfsplus_file_truncate, .setattr = hfsplus_setattr, .setxattr = hfsplus_setxattr, .getxattr = hfsplus_getxattr,
Signature · 1 line
1.7.3.4