From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753469AbbIRI4L (ORCPT ); Fri, 18 Sep 2015 04:56:11 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:42702 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752135AbbIRI4I (ORCPT ); Fri, 18 Sep 2015 04:56:08 -0400 X-AuditID: cbfee61a-f79a06d000005c6f-ed-55fbd1a7508f From: Chao Yu To: Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] f2fs: disallow switch extent_cache option dynamically Date: Fri, 18 Sep 2015 16:55:26 +0800 Message-id: <00cd01d0f1ef$db65bd20$92313760$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdDx7qdp8B5thN7BQNy/tLZKaNrhWw== Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsVy+t9jAd3lF3+HGrQv4LJ4sn4Ws8WlRe4W l3fNYXNg9ti0qpPNY/eCz0wenzfJBTBHcdmkpOZklqUW6dslcGXsOHifteAgZ8WVFdsYGxgv sncxcnJICJhI/Ly1C8oWk7hwbz1bFyMXh5DAUkaJBQfOs0M4rxglLvY8YwGpYhNQkVje8Z8J xBYBsg8tugzWzSzgIdHY8Z0VxBYW8JJ43P2XGcRmEVCV+HXxB1icV8BS4vO/Q2wQtqDEj8n3 WCB6tSTW7zzOBGHLS2xe85YZ4iIFiR1nXzNC7NKTuHT5F1SNuMTGI7dYJjAKzEIyahaSUbOQ jJqFpGUBI8sqRonUguSC4qT0XMO81HK94sTc4tK8dL3k/NxNjOAwfia1g/HgLvdDjAIcjEo8 vJ4ev0OFWBPLiitzDzFKcDArifA+OwEU4k1JrKxKLcqPLyrNSS0+xCjNwaIkziu78lmokEB6 YklqdmpqQWoRTJaJg1OqgdGjOrByn4Hk9So5x+kB0W+7nrlwRCeorO2dVRObqjSdXf3x1vWK n2fGds5awpQ0LeleiyD/T+GqY1tVZrPNap3t3WA2YTPvN5sVcp/vL7/PrbDcr3HBi7XzNz36 s3/RiVaTOZ4v704SeZl+zE2d1+3kJmfHKzNfnTE5sv5p9/s+mQ9mORl+q+8rsRRnJBpqMRcV JwIAVTnKll8CAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Swith extent_cache option dynamically when remount may casue consistency issue between extent cache and dnode page. Fix in this patch to avoid that condition. Signed-off-by: Chao Yu --- fs/f2fs/super.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index f794781..16442ec 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -742,6 +742,7 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data) int err, active_logs; bool need_restart_gc = false; bool need_stop_gc = false; + bool no_extent_cache = !test_opt(sbi, EXTENT_CACHE); sync_filesystem(sb); @@ -767,6 +768,14 @@ static int f2fs_remount(struct super_block *sb, int *flags, char *data) if (f2fs_readonly(sb) && (*flags & MS_RDONLY)) goto skip; + /* disallow enable/disable extent_cache dynamically */ + if (no_extent_cache == !!test_opt(sbi, EXTENT_CACHE)) { + err = -EINVAL; + f2fs_msg(sbi->sb, KERN_WARNING, + "switch extent_cache option is not allowed"); + goto restore_opts; + } + /* * We stop the GC thread if FS is mounted as RO * or if background_gc = off is passed in mount -- 2.5.2