From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751519AbdJVQBq (ORCPT ); Sun, 22 Oct 2017 12:01:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:33674 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751082AbdJVQBo (ORCPT ); Sun, 22 Oct 2017 12:01:44 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E80921908 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=jaegeuk@kernel.org Date: Sun, 22 Oct 2017 09:01:38 -0700 From: Jaegeuk Kim To: Chao Yu Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Subject: Re: [f2fs-dev] [PATCH] f2fs: turn quota off when error occurs Message-ID: <20171022160138.GA33480@jaegeuk-macbookpro.roam.corp.google.com> References: <20171020155337.5354-1-jaegeuk@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.8.2 (2017-04-18) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/22, Chao Yu wrote: > On 2017/10/20 23:53, Jaegeuk Kim wrote: > > Before changing readonly, it needs to turn quota off. > > > > Signed-off-by: Jaegeuk Kim > > --- > > fs/f2fs/checkpoint.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c > > index 201608281681..ff74665d7f2d 100644 > > --- a/fs/f2fs/checkpoint.c > > +++ b/fs/f2fs/checkpoint.c > > @@ -29,6 +29,7 @@ struct kmem_cache *inode_entry_slab; > > void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io) > > { > > set_ckpt_flags(sbi, CP_ERROR_FLAG); > > + f2fs_quota_off_umount(sb); > > sbi->sb->s_flags |= MS_RDONLY; > > if (!end_io) > > Oh, f2fs_stop_checkpoint can be called from end_io, how about adding > f2fs_quota_off_umount here? Agreed. Signed-off-by: Jaegeuk Kim --- fs/f2fs/checkpoint.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index 201608281681..b38b1ae59124 100644 --- a/fs/f2fs/checkpoint.c +++ b/fs/f2fs/checkpoint.c @@ -29,9 +29,13 @@ struct kmem_cache *inode_entry_slab; void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io) { set_ckpt_flags(sbi, CP_ERROR_FLAG); - sbi->sb->s_flags |= MS_RDONLY; - if (!end_io) + if (!end_io) { + f2fs_quota_off_umount(sbi->sb); + sbi->sb->s_flags |= MS_RDONLY; f2fs_flush_merged_writes(sbi); + } else { + sbi->sb->s_flags |= MS_RDONLY; + } } /* -- 2.14.0.rc1.383.gd1ce394fe2-goog