From patchwork Mon Apr 8 21:32:31 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kara X-Patchwork-Id: 234908 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 94C8F2C00AA for ; Tue, 9 Apr 2013 07:33:37 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965101Ab3DHVd3 (ORCPT ); Mon, 8 Apr 2013 17:33:29 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53401 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936370Ab3DHVdI (ORCPT ); Mon, 8 Apr 2013 17:33:08 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 79206A5203; Mon, 8 Apr 2013 23:33:01 +0200 (CEST) Received: by quack.suse.cz (Postfix, from userid 1000) id 986A82069B; Mon, 8 Apr 2013 23:33:00 +0200 (CEST) From: Jan Kara To: Ted Tso Cc: linux-ext4@vger.kernel.org, Jan Kara Subject: [PATCH 26/29] ext4: Remove i_mutex from ext4_file_sync() Date: Mon, 8 Apr 2013 23:32:31 +0200 Message-Id: <1365456754-29373-27-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1365456754-29373-1-git-send-email-jack@suse.cz> References: <1365456754-29373-1-git-send-email-jack@suse.cz> Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org After removal of ext4_flush_unwritten_io() call, ext4_file_sync() doesn't need i_mutex anymore. Forcing of transaction commits doesn't need i_mutex as there's nothing inode specific in that code apart from grabbing transaction ids from the inode. So remove the lock. Signed-off-by: Jan Kara Reviewed-by: Zheng Liu --- fs/ext4/fsync.c | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index 1c08780..9040faa 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c @@ -99,7 +99,7 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) trace_ext4_sync_file_enter(file, datasync); if (inode->i_sb->s_flags & MS_RDONLY) - goto out_trace; + goto out; if (!journal) { ret = generic_file_fsync(file, start, end, datasync); @@ -111,8 +111,6 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ret = filemap_write_and_wait_range(inode->i_mapping, start, end); if (ret) return ret; - mutex_lock(&inode->i_mutex); - /* * data=writeback,ordered: * The caller's filemap_fdatawrite()/wait will sync the data. @@ -144,8 +142,6 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) ret = err; } out: - mutex_unlock(&inode->i_mutex); -out_trace: trace_ext4_sync_file_exit(inode, ret); return ret; }