From: Marco Stornelli Subject: [PATCH 05/22] omfs: drop vmtruncate Date: Sat, 06 Oct 2012 10:17:13 +0200 Message-ID: <506FE909.20601@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Linux FS Devel , Bob Copeland , linux-karma-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org To: Al Viro Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-karma-devel-bounces@lists.sourceforge.net List-Id: linux-fsdevel.vger.kernel.org Removed vmtruncate. Signed-off-by: Marco Stornelli --- 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