sysv: drop vmtruncate
PATCH 2/22 sysv: drop vmtruncate
Removed vmtruncate.
Signed-off-by Marco Stornelli <[email protected]>
--- fs/sysv/file.c | 5 +++-- fs/sysv/itree.c | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-)
fs/sysv/file.c +3 -2
@@ -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, };
fs/sysv/itree.c +5 -2
@@ -473,8 +473,11 @@ static int sysv_write_begin(struct file *file, struct address_space *mapping, ret =block_write_begin (mapping, pos, len, flags, pagep, get_block);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); +sysv_truncate (mapping->host); + } }return ret;
Signature · 1 line
1.7.3.4