Re: [PATCH 3/5] f2fs: move f2fs_balance_fs to correct place in unlink

From: Namjae Jeon
Date: Mon Mar 04 2013 - 01:10:50 EST


2013/3/3, Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>:
> 2013-03-02 (í), 12:41 +0900, Namjae Jeon:
>> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
>>
>> Actual dirty of pages will occur in f2fs_delete_entry so move the
>> f2fs_balance_fs just before deletion.
>>
>> Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
>> Signed-off-by: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx>
>> ---
>> fs/f2fs/namei.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
>> index 1a49b88..eaa86f5 100644
>> --- a/fs/f2fs/namei.c
>> +++ b/fs/f2fs/namei.c
>> @@ -223,8 +223,6 @@ static int f2fs_unlink(struct inode *dir, struct
>> dentry *dentry)
>> struct page *page;
>> int err = -ENOENT;
>>
>> - f2fs_balance_fs(sbi);
>> -
>> de = f2fs_find_entry(dir, &dentry->d_name, &page);
>> if (!de)
>> goto fail;
>> @@ -236,6 +234,8 @@ static int f2fs_unlink(struct inode *dir, struct
>> dentry *dentry)
>> goto fail;
>> }
>>
>> + f2fs_balance_fs(sbi);
>> +
>
> I think we don't need to do this because of no issues on performance and
> reliability.
> In addition, it would be better to call f2fs_balance_fs without any
> dentry page.
Regarding moving âf2fs_balance_fsâ in unlink partâ we considered one scenario.
Suppose â when the disk is full and it really needed to trigger the
Garbage collection. But in this we considered one scenario. Letâs say
the ânameâ being passed is for invalid file i.e., the file does not
exist. So, primarily in this case â I think it should return
immediately.
In such cases it actually results in wrong timing results for the
non-existence files.
For this observation we thought that f2fs_balance_fs be instead called
at a proper place i.e., after there is no lookup-failure.

Let me know your opinion.
Thanks.
>
>> f2fs_delete_entry(de, page, inode);
>>
>> /* In order to evict this inode, we set it dirty */
>
> --
> Jaegeuk Kim
> Samsung
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/