From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Monakhov Subject: [PATCH 5/7] ext3: use nofail variant of inode_setattr() Date: Fri, 19 Feb 2010 22:47:23 +0300 Message-ID: <1266608845-13212-6-git-send-email-dmonakhov@openvz.org> References: <1266608845-13212-1-git-send-email-dmonakhov@openvz.org> <1266608845-13212-2-git-send-email-dmonakhov@openvz.org> <1266608845-13212-3-git-send-email-dmonakhov@openvz.org> <1266608845-13212-4-git-send-email-dmonakhov@openvz.org> <1266608845-13212-5-git-send-email-dmonakhov@openvz.org> Cc: linux-fsdevel@vger.kernel.org, Dmitry Monakhov To: linux-kernel@vger.kernel.org Return-path: In-Reply-To: <1266608845-13212-5-git-send-email-dmonakhov@openvz.org> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org After we updated i_disk_size and stop the journal it is too late for error handling from inode_setattr(). Since inode_change_ok() is now responsible for all necessery checks we may call __inode_setattr() which can not fail. Signed-off-by: Dmitry Monakhov --- fs/ext3/inode.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 455e6e6..196aee3 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -3184,8 +3184,11 @@ int ext3_setattr(struct dentry *dentry, struct iattr *attr) error = rc; ext3_journal_stop(handle); } - - rc = inode_setattr(inode, attr); + /* + * All necessery check already done in inode_check_ok(), + * it is safe to use nofail version here. + */ + __inode_setattr(inode, attr); if (!rc && (ia_valid & ATTR_MODE)) rc = ext3_acl_chmod(inode); -- 1.6.6