2012-10-06 08:37:56

by Marco Stornelli

[permalink] [raw]
Subject: [PATCH 14/22] hostfs: drop vmtruncate

Removed vmtruncate.

Signed-off-by: Marco Stornelli <[email protected]>
---
fs/hostfs/hostfs_kern.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c
index 6c9f3a9..4348e84 100644
--- a/fs/hostfs/hostfs_kern.c
+++ b/fs/hostfs/hostfs_kern.c
@@ -848,9 +848,11 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr)
attr->ia_size != i_size_read(inode)) {
int error;

- error = vmtruncate(inode, attr->ia_size);
- if (err)
- return err;
+ error = inode_newsize_ok(inode, attr->ia_size);
+ if (error)
+ return error;
+
+ truncate_setsize(inode, attr->ia_size);
}

setattr_copy(inode, attr);
--
1.7.3.4


2012-10-13 16:22:24

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 14/22] hostfs: drop vmtruncate

> +++ b/fs/hostfs/hostfs_kern.c
> @@ -848,9 +848,11 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr)
> attr->ia_size != i_size_read(inode)) {
> int error;
>
> - error = vmtruncate(inode, attr->ia_size);
> - if (err)
> - return err;
> + error = inode_newsize_ok(inode, attr->ia_size);
> + if (error)
> + return error;
> +
> + truncate_setsize(inode, attr->ia_size);

The inode_change_ok call here is superflous, it's already done by
inode_change_ok at the beginning of the function. Even if that wasn't
done doing it aftet set_attr() would be too late anyway.