2012-10-06 08:24:34

by Marco Stornelli

[permalink] [raw]
Subject: [PATCH 06/22] ocfs2: drop vmtruncate

Removed vmtruncate.

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

diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 5a4ee77..f0737d0 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -1229,11 +1229,12 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr)
*/
if ((attr->ia_valid & ATTR_SIZE) &&
attr->ia_size != i_size_read(inode)) {
- status = vmtruncate(inode, attr->ia_size);
+ status = inode_newsize_ok(inode, attr->ia_size);
if (status) {
mlog_errno(status);
goto bail_commit;
}
+ truncate_setsize(inode, attr->ia_size);
}

setattr_copy(inode, attr);
--
1.7.3.4


2012-10-13 16:20:04

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 06/22] ocfs2: drop vmtruncate

> if ((attr->ia_valid & ATTR_SIZE) &&
> attr->ia_size != i_size_read(inode)) {
> - status = vmtruncate(inode, attr->ia_size);
> + status = inode_newsize_ok(inode, attr->ia_size);
> if (status) {
> mlog_errno(status);
> goto bail_commit;
> }
> + truncate_setsize(inode, attr->ia_size);

ocfs2 already calls inode_newsize_ok earlier during ocfs2_setattr,
and there's an XXX comment just above the vmtruncate call about
how ocfs2 hacks around this. I suspect you just want a plain
truncate_setsize here and remove the comment above it, but I'd
like to have the ocfs2 folks confirm that.

2012-10-14 10:35:08

by Marco Stornelli

[permalink] [raw]
Subject: Re: [PATCH 06/22] ocfs2: drop vmtruncate

Il 13/10/2012 18:19, Christoph Hellwig ha scritto:
>> if ((attr->ia_valid & ATTR_SIZE) &&
>> attr->ia_size != i_size_read(inode)) {
>> - status = vmtruncate(inode, attr->ia_size);
>> + status = inode_newsize_ok(inode, attr->ia_size);
>> if (status) {
>> mlog_errno(status);
>> goto bail_commit;
>> }
>> + truncate_setsize(inode, attr->ia_size);
>
> ocfs2 already calls inode_newsize_ok earlier during ocfs2_setattr,
> and there's an XXX comment just above the vmtruncate call about
> how ocfs2 hacks around this. I suspect you just want a plain
> truncate_setsize here and remove the comment above it, but I'd
> like to have the ocfs2 folks confirm that.
>
>

Yep, I quite agree. truncate_setsize can be moved up into to the
previous "if (size_change && attr->ia_size != i_size_read(inode))" where
the truncate code does its work.