From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751993Ab2ALBVM (ORCPT ); Wed, 11 Jan 2012 20:21:12 -0500 Received: from cantor2.suse.de ([195.135.220.15]:34768 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751904Ab2ALBVG (ORCPT ); Wed, 11 Jan 2012 20:21:06 -0500 From: Jan Kara To: linux-fsdevel@vger.kernel.org Cc: LKML , linux-ext4@vger.kernel.org, xfs@oss.sgi.com, Eric Sandeen , Dave Chinner , Surbhi Palande , Kamal Mostafa , Christoph Hellwig , Jan Kara , "Theodore Ts'o" Subject: [PATCH 3/4] ext4: Protect ext4_page_mkwrite with sb_start_write - sb_end_write Date: Thu, 12 Jan 2012 02:20:52 +0100 Message-Id: <1326331253-6497-4-git-send-email-jack@suse.cz> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1326331253-6497-1-git-send-email-jack@suse.cz> References: <1326331253-6497-1-git-send-email-jack@suse.cz> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since ext4_page_mkwrite() calls into __block_page_mkwrite() it has to provide freezing protection on it's own. CC: "Theodore Ts'o" Signed-off-by: Jan Kara --- fs/ext4/inode.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 848f436..fbe998b 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -4733,11 +4733,7 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) get_block_t *get_block; int retries = 0; - /* - * This check is racy but catches the common case. We rely on - * __block_page_mkwrite() to do a reliable check. - */ - vfs_check_frozen(inode->i_sb, SB_FREEZE_WRITE); + sb_start_write(inode->i_sb); /* Delalloc case is easy... */ if (test_opt(inode->i_sb, DELALLOC) && !ext4_should_journal_data(inode) && @@ -4805,5 +4801,6 @@ retry_alloc: out_ret: ret = block_page_mkwrite_return(ret); out: + sb_end_write(inode->i_sb); return ret; } -- 1.7.1