reiserfs: drop vmtruncate
PATCH 3/22 reiserfs: drop vmtruncate
Removed vmtruncate.
Signed-off-by Marco Stornelli <[email protected]>
Reviewed-by Jan Kara <[email protected]>
--- fs/reiserfs/file.c | 3 +-- fs/reiserfs/inode.c | 15 +++++++++++---- fs/reiserfs/reiserfs.h | 1 + 3 files changed, 13 insertions(+), 6 deletions(-)
fs/reiserfs/file.c +1 -2
@@ -126,7 +126,7 @@ static int reiserfs_file_open(struct inode *inode, struct file *file)return err; } -static void reiserfs_vfs_truncate_file (struct inode *inode) +void reiserfs_vfs_truncate_file (struct inode *inode) {mutex_lock (&(REISERFS_I (inode)->tailpack));reiserfs_truncate_file (inode,1 );
@@ -312,7 +312,6 @@ const struct file_operations reiserfs_file_operations = { };const struct inode_operations reiserfs_file_inode_operations = { - .truncate = reiserfs_vfs_truncate_file, .setattr = reiserfs_setattr, .setxattr = reiserfs_setxattr, .getxattr = reiserfs_getxattr,
fs/reiserfs/inode.c +11 -4
@@ -3078,8 +3078,10 @@ static ssize_t reiserfs_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); +reiserfs_vfs_truncate_file (inode); + } }return ret;
@@ -3192,8 +3194,13 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)*/ reiserfs_write_unlock_once (inode->i_sb, depth);if ((attr->ia_valid &ATTR_SIZE ) && - attr->ia_size !=i_size_read (inode)) - error =vmtruncate (inode, attr->ia_size); + attr->ia_size !=i_size_read (inode)) { + error =inode_newsize_ok (inode, attr->ia_size); +if (!error) { +truncate_setsize (inode, attr->ia_size); +reiserfs_vfs_truncate_file (inode); + } + }if (!error) {setattr_copy (inode, attr);
fs/reiserfs/reiserfs.h +1 -0
@@ -2455,6 +2455,7 @@ struct reiserfs_transaction_handle *reiserfs_persistent_transaction(struct *, int count);int reiserfs_end_persistent_transaction (struct reiserfs_transaction_handle *); +void reiserfs_vfs_truncate_file (struct inode *inode);int reiserfs_commit_page (struct inode *inode,struct page *page,unsigned from,unsigned to);void reiserfs_flush_old_commits (struct super_block *);
Signature · 1 line
1.7.3.4