All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chao Yu <yuchao0@huawei.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: <linux-kernel@vger.kernel.org>, <linux-f2fs-devel@lists.sourceforge.net>
Subject: Re: [f2fs-dev] [PATCH] f2fs: add an ioctl() to explicitly trigger fsck later
Date: Fri, 7 Dec 2018 17:53:14 +0800	[thread overview]
Message-ID: <a50a7612-7429-4cc7-c9bb-56a054826a03@huawei.com> (raw)
In-Reply-To: <20181130203611.GC71781@jaegeuk-macbookpro.roam.corp.google.com>

On 2018/12/1 4:36, Jaegeuk Kim wrote:
> On 11/30, Chao Yu wrote:
>> On 2018/11/29 9:52, Jaegeuk Kim wrote:
>>> This adds an option in ioctl(F2FS_IOC_SHUTDOWN) in order to trigger fsck by
>>> setting a NEED_FSCK flag.
>>>
>>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
>>> ---
>>>  fs/f2fs/f2fs.h | 1 +
>>>  fs/f2fs/file.c | 7 +++++++
>>>  2 files changed, 8 insertions(+)
>>>
>>> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
>>> index aa500239baf2..7cec897146a3 100644
>>> --- a/fs/f2fs/f2fs.h
>>> +++ b/fs/f2fs/f2fs.h
>>> @@ -417,6 +417,7 @@ static inline bool __has_cursum_space(struct f2fs_journal *journal,
>>>  #define F2FS_GOING_DOWN_METASYNC	0x1	/* going down with metadata */
>>>  #define F2FS_GOING_DOWN_NOSYNC		0x2	/* going down */
>>>  #define F2FS_GOING_DOWN_METAFLUSH	0x3	/* going down with meta flush */
>>> +#define F2FS_GOING_DOWN_NEED_FSCK	0x4	/* going down to trigger fsck */
>>
>> Why not add a new ioctl interface for this? F2FS_GOING_DOWN_ prefix implies
>> filesystem will shutdown, IMO, we'd better to keep all sub-interfaces being
>> consistent in f2fs_ioc_shutdown().
> 
> I'm thinking to use this for QA as device shutdown tests.
> 
>>
>>>  
>>>  #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
>>>  /*
>>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>>> index ff82350a2c55..ca9bdbb8651b 100644
>>> --- a/fs/f2fs/file.c
>>> +++ b/fs/f2fs/file.c
>>> @@ -1966,6 +1966,13 @@ static int f2fs_ioc_shutdown(struct file *filp, unsigned long arg)
>>>  		f2fs_stop_checkpoint(sbi, false);
>>>  		set_sbi_flag(sbi, SBI_IS_SHUTDOWN);
>>>  		break;
>>> +	case F2FS_GOING_DOWN_NEED_FSCK:
>>> +		set_sbi_flag(sbi, SBI_NEED_FSCK);
>>> +		/* do checkpoint only */
>>> +		ret = f2fs_sync_fs(sb, 1);
>>> +		if (ret)
>>> +			goto out;
>>
>> In large-sized image, it may take long time to trigger full scan during
>> boot, so I'd like to ask how often we set this flag?
> 
> Based on the use of shutdown ioctl, I'll use this for testing purpose, so it
> won't be used for regular cases.

How about adding some commit messages or comments on
F2FS_GOING_DOWN_NEED_FSCK marco definition to give a bit hint for f2fs
developers to know the usage of the interface?

Thanks,

> 
>>
>> Thanks,
>>
>>> +		break;
>>>  	default:
>>>  		ret = -EINVAL;
>>>  		goto out;
>>>
> 
> .
> 


WARNING: multiple messages have this Message-ID (diff)
From: Chao Yu <yuchao0@huawei.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs-dev] [PATCH] f2fs: add an ioctl() to explicitly trigger fsck later
Date: Fri, 7 Dec 2018 17:53:14 +0800	[thread overview]
Message-ID: <a50a7612-7429-4cc7-c9bb-56a054826a03@huawei.com> (raw)
In-Reply-To: <20181130203611.GC71781@jaegeuk-macbookpro.roam.corp.google.com>

On 2018/12/1 4:36, Jaegeuk Kim wrote:
> On 11/30, Chao Yu wrote:
>> On 2018/11/29 9:52, Jaegeuk Kim wrote:
>>> This adds an option in ioctl(F2FS_IOC_SHUTDOWN) in order to trigger fsck by
>>> setting a NEED_FSCK flag.
>>>
>>> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
>>> ---
>>>  fs/f2fs/f2fs.h | 1 +
>>>  fs/f2fs/file.c | 7 +++++++
>>>  2 files changed, 8 insertions(+)
>>>
>>> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
>>> index aa500239baf2..7cec897146a3 100644
>>> --- a/fs/f2fs/f2fs.h
>>> +++ b/fs/f2fs/f2fs.h
>>> @@ -417,6 +417,7 @@ static inline bool __has_cursum_space(struct f2fs_journal *journal,
>>>  #define F2FS_GOING_DOWN_METASYNC	0x1	/* going down with metadata */
>>>  #define F2FS_GOING_DOWN_NOSYNC		0x2	/* going down */
>>>  #define F2FS_GOING_DOWN_METAFLUSH	0x3	/* going down with meta flush */
>>> +#define F2FS_GOING_DOWN_NEED_FSCK	0x4	/* going down to trigger fsck */
>>
>> Why not add a new ioctl interface for this? F2FS_GOING_DOWN_ prefix implies
>> filesystem will shutdown, IMO, we'd better to keep all sub-interfaces being
>> consistent in f2fs_ioc_shutdown().
> 
> I'm thinking to use this for QA as device shutdown tests.
> 
>>
>>>  
>>>  #if defined(__KERNEL__) && defined(CONFIG_COMPAT)
>>>  /*
>>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
>>> index ff82350a2c55..ca9bdbb8651b 100644
>>> --- a/fs/f2fs/file.c
>>> +++ b/fs/f2fs/file.c
>>> @@ -1966,6 +1966,13 @@ static int f2fs_ioc_shutdown(struct file *filp, unsigned long arg)
>>>  		f2fs_stop_checkpoint(sbi, false);
>>>  		set_sbi_flag(sbi, SBI_IS_SHUTDOWN);
>>>  		break;
>>> +	case F2FS_GOING_DOWN_NEED_FSCK:
>>> +		set_sbi_flag(sbi, SBI_NEED_FSCK);
>>> +		/* do checkpoint only */
>>> +		ret = f2fs_sync_fs(sb, 1);
>>> +		if (ret)
>>> +			goto out;
>>
>> In large-sized image, it may take long time to trigger full scan during
>> boot, so I'd like to ask how often we set this flag?
> 
> Based on the use of shutdown ioctl, I'll use this for testing purpose, so it
> won't be used for regular cases.

How about adding some commit messages or comments on
F2FS_GOING_DOWN_NEED_FSCK marco definition to give a bit hint for f2fs
developers to know the usage of the interface?

Thanks,

> 
>>
>> Thanks,
>>
>>> +		break;
>>>  	default:
>>>  		ret = -EINVAL;
>>>  		goto out;
>>>
> 
> .
> 

  reply	other threads:[~2018-12-07  9:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29  1:52 [PATCH] f2fs: add an ioctl() to explicitly trigger fsck later Jaegeuk Kim
2018-11-30  1:50 ` [f2fs-dev] " Chao Yu
2018-11-30  1:50   ` Chao Yu
2018-11-30 20:36   ` Jaegeuk Kim
2018-12-07  9:53     ` Chao Yu [this message]
2018-12-07  9:53       ` Chao Yu
2018-12-13  3:56       ` Jaegeuk Kim
2018-12-13  6:30         ` Chao Yu
2018-12-13  6:30           ` Chao Yu
2018-12-05 19:29 ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a50a7612-7429-4cc7-c9bb-56a054826a03@huawei.com \
    --to=yuchao0@huawei.com \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.