All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 05/22] omfs: drop vmtruncate
@ 2012-10-06  8:17 ` Marco Stornelli
  0 siblings, 0 replies; 2+ messages in thread
From: Marco Stornelli @ 2012-10-06  8:17 UTC (permalink / raw)
  To: Al Viro; +Cc: Linux FS Devel, Bob Copeland, linux-karma-devel, linux-kernel

Removed vmtruncate.

Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
---
 fs/omfs/file.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/fs/omfs/file.c b/fs/omfs/file.c
index 77e3cb2..c10ab90 100644
--- a/fs/omfs/file.c
+++ b/fs/omfs/file.c
@@ -316,8 +316,11 @@ static int omfs_write_begin(struct file *file, struct address_space *mapping,
 				omfs_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);
+			omfs_truncate(mapping->host);
+		}
 	}
 
 	return ret;
@@ -350,9 +353,11 @@ static int omfs_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);
+		omfs_truncate(inode);
 	}
 
 	setattr_copy(inode, attr);
@@ -362,7 +367,6 @@ static int omfs_setattr(struct dentry *dentry, struct iattr *attr)
 
 const struct inode_operations omfs_file_inops = {
 	.setattr = omfs_setattr,
-	.truncate = omfs_truncate
 };
 
 const struct address_space_operations omfs_aops = {
-- 
1.7.3.4

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH 05/22] omfs: drop vmtruncate
@ 2012-10-06  8:17 ` Marco Stornelli
  0 siblings, 0 replies; 2+ messages in thread
From: Marco Stornelli @ 2012-10-06  8:17 UTC (permalink / raw)
  To: Al Viro; +Cc: Bob Copeland, linux-karma-devel, linux-kernel, Linux FS Devel

Removed vmtruncate.

Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
---
 fs/omfs/file.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/fs/omfs/file.c b/fs/omfs/file.c
index 77e3cb2..c10ab90 100644
--- a/fs/omfs/file.c
+++ b/fs/omfs/file.c
@@ -316,8 +316,11 @@ static int omfs_write_begin(struct file *file, struct address_space *mapping,
 				omfs_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);
+			omfs_truncate(mapping->host);
+		}
 	}
 
 	return ret;
@@ -350,9 +353,11 @@ static int omfs_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);
+		omfs_truncate(inode);
 	}
 
 	setattr_copy(inode, attr);
@@ -362,7 +367,6 @@ static int omfs_setattr(struct dentry *dentry, struct iattr *attr)
 
 const struct inode_operations omfs_file_inops = {
 	.setattr = omfs_setattr,
-	.truncate = omfs_truncate
 };
 
 const struct address_space_operations omfs_aops = {
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-10-06  8:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-06  8:17 [PATCH 05/22] omfs: drop vmtruncate Marco Stornelli
2012-10-06  8:17 ` Marco Stornelli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.