:
Hi Yunlong,
On 2017/8/2 0:59, Yunlong Song wrote:
Hi Chao,
I think there is no need to test mirror bitmap when original bitmap's check
get passed, it is an instruction waste for "test". By the way, previous patch
uses WARN to skip trigger panic when the memory is flippe
:
Hi Yunlong,
On 2017/8/2 0:59, Yunlong Song wrote:
Hi Chao,
I think there is no need to test mirror bitmap when original bitmap's check
get passed, it is an instruction waste for "test". By the way, previous patch
uses WARN to skip trigger panic when the memory is flippe
When cur_valid_map passes the f2fs_test_and_set(,clear)_bit test,
cur_valid_map_mir update is skipped unlikely, so fix it.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 8
1 file changed, 8 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/seg
When cur_valid_map passes the f2fs_test_and_set(,clear)_bit test,
cur_valid_map_mir update is skipped unlikely, so fix it.
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 8
1 file changed, 8 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 151968e..6f7731a
:
Hi Yunlong,
On 07/29, Yunlong Song wrote:
f2fs_balance_fs of dentry pages is skipped in __write_data_page due to deadlock
of gc_mutex in write_checkpoint flow. This patch enables f2fs_balance_fs for
normal dentry page writeback to ensure there are always enough free segments.
So, how about
:
Hi Yunlong,
On 07/29, Yunlong Song wrote:
f2fs_balance_fs of dentry pages is skipped in __write_data_page due to deadlock
of gc_mutex in write_checkpoint flow. This patch enables f2fs_balance_fs for
normal dentry page writeback to ensure there are always enough free segments.
So, how about
Hi Chao,
Nice suggestion, I have sent out a new patch to implement it.
On 2017/7/29 8:19, Chao Yu wrote:
Hi Yunlong,
On 2017/7/27 20:13, Yunlong Song wrote:
v1->v2, fix some dead lock problems under some heavy load test
On 2017/7/27 20:11, Yunlong Song wrote:
Let node writeback also
Hi Chao,
Nice suggestion, I have sent out a new patch to implement it.
On 2017/7/29 8:19, Chao Yu wrote:
Hi Yunlong,
On 2017/7/27 20:13, Yunlong Song wrote:
v1->v2, fix some dead lock problems under some heavy load test
On 2017/7/27 20:11, Yunlong Song wrote:
Let node writeback also
ot;, which is reported
by Chao. This is another corner case.
On 2017/7/29 0:20, Jaegeuk Kim wrote:
Hi Yunlong,
On 07/27, Yunlong Song wrote:
v1->v2, fix some dead lock problems under some heavy load test
So, does this patch resolve the previous GC problem?
Thanks,
On 2017/7/27 20:11, Yunlo
ot;, which is reported
by Chao. This is another corner case.
On 2017/7/29 0:20, Jaegeuk Kim wrote:
Hi Yunlong,
On 07/27, Yunlong Song wrote:
v1->v2, fix some dead lock problems under some heavy load test
So, does this patch resolve the previous GC problem?
Thanks,
On 2017/7/27 20:11, Yunlo
ed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/data.c | 67 +---
fs/f2fs/f2fs.h | 1 +
3 files changed, 61 insertions(+), 9 deletions(-)
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
i
f2fs_balance_fs of dentry pages is skipped in __write_data_page due to deadlock
of gc_mutex in write_checkpoint flow. This patch enables f2fs_balance_fs for
normal dentry page writeback to ensure there are always enough free segments.
Reported-by: Chao Yu
Signed-off-by: Yunlong Song
---
fs
v1->v2, fix some dead lock problems under some heavy load test
On 2017/7/27 20:11, Yunlong Song wrote:
Let node writeback also do f2fs_balance_fs to ensure there are always enough
free
segments.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/checkpoint.c | 2 +-
v1->v2, fix some dead lock problems under some heavy load test
On 2017/7/27 20:11, Yunlong Song wrote:
Let node writeback also do f2fs_balance_fs to ensure there are always enough
free
segments.
Signed-off-by: Yunlong Song
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/f2fs.h |
Let node writeback also do f2fs_balance_fs to ensure there are always enough
free
segments.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/node.c | 14 --
3 files changed, 10 insertions
Let node writeback also do f2fs_balance_fs to ensure there are always enough
free
segments.
Signed-off-by: Yunlong Song
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/node.c | 14 --
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/fs
have sent another patch to provide f2fs_balance_fs to
__write_node_page,
similar as that in __write_data_page, to avoid missing f2fs_balance_fs
in node page writeback.
Please check that.
On 2017/7/26 2:55, Jaegeuk Kim wrote:
On 07/14, Yunlong Song wrote:
Suppose that the valid blocks of each
have sent another patch to provide f2fs_balance_fs to
__write_node_page,
similar as that in __write_data_page, to avoid missing f2fs_balance_fs
in node page writeback.
Please check that.
On 2017/7/26 2:55, Jaegeuk Kim wrote:
On 07/14, Yunlong Song wrote:
Suppose that the valid blocks of each
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/node.c | 16 ++--
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 5b876f6..3
Signed-off-by: Yunlong Song
---
fs/f2fs/checkpoint.c | 2 +-
fs/f2fs/f2fs.h | 2 +-
fs/f2fs/node.c | 16 ++--
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 5b876f6..3c84a25 100644
--- a/fs/f2fs
Hi Jay,
fggc_threshold is 507, reserved_segment is 462.
On 2017/7/22 5:07, Jaegeuk Kim wrote:
Hi Yunlong,
On 07/20, Yunlong Song wrote:
Hi, Jay,
The distribution is like this, unit is segment counts:
cnt_free: 0 (free blocks)
cnt_full: 25182 (segment which has 512 blocks
Hi Jay,
fggc_threshold is 507, reserved_segment is 462.
On 2017/7/22 5:07, Jaegeuk Kim wrote:
Hi Yunlong,
On 07/20, Yunlong Song wrote:
Hi, Jay,
The distribution is like this, unit is segment counts:
cnt_free: 0 (free blocks)
cnt_full: 25182 (segment which has 512 blocks
hat
>> this could happen.
> So, have you taken a look at distribution of valid blocks in that case?
> I'm wondering what distribution can cause this.
>
> Thanks,
>
>>
>>
>>
>> 发自网易邮箱大师
>> On 07/16/2017 09:09, Jaegeuk Kim wrote:
>> Hi Yunl
hat
>> this could happen.
> So, have you taken a look at distribution of valid blocks in that case?
> I'm wondering what distribution can cause this.
>
> Thanks,
>
>>
>>
>>
>> 发自网易邮箱大师
>> On 07/16/2017 09:09, Jaegeuk Kim wrote:
>> Hi Yunl
Hi Jay,
In fact,this is not "suppose" case yet, we have already met this problem
several times in some test suits for corner case, or I cannot notice that this
could happen.
On 2017/7/16 9:09, Jaegeuk Kim wrote:
> Hi Yunlong,
>
> On 07/14, Yunlong Song wrote:
>&g
Hi Jay,
In fact,this is not "suppose" case yet, we have already met this problem
several times in some test suits for corner case, or I cannot notice that this
could happen.
On 2017/7/16 9:09, Jaegeuk Kim wrote:
> Hi Yunlong,
>
> On 07/14, Yunlong Song wrote:
>&g
all, and get_new_segment cannot
get a free segment, filesystem will trap into a wrong status.
To fix this, we record the segno which has a rough minimum cost and return it to
__get_victim to continue f2fs_gc's job.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/gc.c
all, and get_new_segment cannot
get a free segment, filesystem will trap into a wrong status.
To fix this, we record the segno which has a rough minimum cost and return it to
__get_victim to continue f2fs_gc's job.
Signed-off-by: Yunlong Song
---
fs/f2fs/gc.c | 19 ++-
fs/f
It's fine unless create_discard_cmd_control is used in remount flow in the
future.
On 2017/7/6 21:16, Chao Yu wrote:
> Hi Yunlong,
>
> It looks there is no way to create discard thread redundantly,
> so here we don't need to check this?
>
> Thanks,
>
> On 2017/7/6 1
It's fine unless create_discard_cmd_control is used in remount flow in the
future.
On 2017/7/6 21:16, Chao Yu wrote:
> Hi Yunlong,
>
> It looks there is no way to create discard thread redundantly,
> so here we don't need to check this?
>
> Thanks,
>
> On 2017/7/6 1
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 4c246e3..b48d004 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1417,6 +1417,8 @@ stat
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 4c246e3..b48d004 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1417,6 +1417,8 @@ static int create_discard_cmd_control(struct
create_flush_cmd_control will create redundant issue_flush_thread after each
remount with flush_merge option.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index a
create_flush_cmd_control will create redundant issue_flush_thread after each
remount with flush_merge option.
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index a6d7738..57f9edc 100644
--- a/fs/f2fs
ing code in
is_recoverable_dnode,
this function is called only once after mount, it's OK.
--
Thanks,
Yunlong Song
ing code in
is_recoverable_dnode,
this function is called only once after mount, it's OK.
--
Thanks,
Yunlong Song
No need to check the "if" condition each time, just change it to macro codes.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/node.h| 10 +-
fs/f2fs/segment.c | 5 +++--
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/fs/f2fs/node.h
No need to check the "if" condition each time, just change it to macro codes.
Signed-off-by: Yunlong Song
---
fs/f2fs/node.h| 10 +-
fs/f2fs/segment.c | 5 +++--
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h
index 3fc9c4
he amount of gc_more
segments
after the sync in my example, because you have to gc_more until free_sections
equals to reserved_segments, so the smaller the reserved_segment is, the smaller
times f2f2_gc will gc_more.
Anyway, I will test the patch in device for stability.
On 2017/2/24 20:46, Yun
he amount of gc_more
segments
after the sync in my example, because you have to gc_more until free_sections
equals to reserved_segments, so the smaller the reserved_segment is, the smaller
times f2f2_gc will gc_more.
Anyway, I will test the patch in device for stability.
On 2017/2/24 20:46, Yun
,
but if time goes by, warm segments will finally update their blocks like hot
segments, but cold segments
are something like which should and will never update, so I prefer to put hot
and warm to one side,
and put cold to the other side.
On 2017/2/25 4:05, Jaegeuk Kim wrote:
> On 02/25, Yunlong S
,
but if time goes by, warm segments will finally update their blocks like hot
segments, but cold segments
are something like which should and will never update, so I prefer to put hot
and warm to one side,
and put cold to the other side.
On 2017/2/25 4:05, Jaegeuk Kim wrote:
> On 02/25, Yunlong S
used anytime for gc when ssr segments are not enough.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.h | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index f4020f1..44f2a46 100644
--- a/fs/f2fs/segment
used anytime for gc when ssr segments are not enough.
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.h | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index f4020f1..44f2a46 100644
--- a/fs/f2fs/segment.h
+++ b/fs/f2fs/segment.
On 2017/2/24 19:37, Chao Yu wrote:
> On 2017/2/24 19:11, Yunlong Song wrote:
>> I think we do not need to care about the CP_CRC_RECOVERY_FLAG status of old
>> image, I mean we
>> do not need to check the already-been-written node footer in the image, what
>> we ca
On 2017/2/24 19:37, Chao Yu wrote:
> On 2017/2/24 19:11, Yunlong Song wrote:
>> I think we do not need to care about the CP_CRC_RECOVERY_FLAG status of old
>> image, I mean we
>> do not need to check the already-been-written node footer in the image, what
>> we ca
below.
On 2017/2/24 18:47, Chao Yu wrote:
> On 2017/2/24 17:19, Yunlong Song wrote:
>> Hi Jaegeuk and Chao,
>>
>> How about the question I pointed out in last mail:
>> Why not take "neighboring temperature" for ssr? For example, if type ==
>> CUR
below.
On 2017/2/24 18:47, Chao Yu wrote:
> On 2017/2/24 17:19, Yunlong Song wrote:
>> Hi Jaegeuk and Chao,
>>
>> How about the question I pointed out in last mail:
>> Why not take "neighboring temperature" for ssr? For example, if type ==
>> CUR
. The already-been-written node in the old image should
not appear in the node
chain of recovery process, right?
On 2017/2/24 18:29, Chao Yu wrote:
> On 2017/2/24 18:06, Yunlong Song wrote:
>> No need to check the "if" condition each time, just change it to macro codes.
> We're goi
. The already-been-written node in the old image should
not appear in the node
chain of recovery process, right?
On 2017/2/24 18:29, Chao Yu wrote:
> On 2017/2/24 18:06, Yunlong Song wrote:
>> No need to check the "if" condition each time, just change it to macro codes.
> We're goi
No need to check the "if" condition each time, just change it to macro codes.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/node.h| 20 ++--
fs/f2fs/segment.c | 5 +++--
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/fs/
No need to check the "if" condition each time, just change it to macro codes.
Signed-off-by: Yunlong Song
---
fs/f2fs/node.h| 20 ++--
fs/f2fs/segment.c | 5 +++--
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/fs/f2fs/node.h b/fs/f2fs/node.h
ind
> Thanks,
>
> On 2017/2/23 9:17, Jaegeuk Kim wrote:
>> Hi Yunlong,
>>
>> I've been testing the similar patches as I attached.
>>
>> Thanks,
>>
>> On 02/22, Yunlong Song wrote:
>>> Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
017/2/23 9:17, Jaegeuk Kim wrote:
>> Hi Yunlong,
>>
>> I've been testing the similar patches as I attached.
>>
>> Thanks,
>>
>> On 02/22, Yunlong Song wrote:
>>> Signed-off-by: Yunlong Song
>>> ---
>>> fs/f2fs/segment.c | 9 +++
Ping...
Since has_not_enough_free_secs(sbi, 0, 0) must be true if
has_not_enough_free_secs(sbi, sec_freed, 0) is true,
write_checkpoint is sure to execute in both conditions, and segno is NULL_SEGNO
in both conditions.
On 2017/2/21 20:43, Yunlong Song wrote:
> Signed-off-by: Yunlong S
Ping...
Since has_not_enough_free_secs(sbi, 0, 0) must be true if
has_not_enough_free_secs(sbi, sec_freed, 0) is true,
write_checkpoint is sure to execute in both conditions, and segno is NULL_SEGNO
in both conditions.
On 2017/2/21 20:43, Yunlong Song wrote:
> Signed-off-by: Yunlong S
Hi Jay,
I miss some codes from your mail, now I check all your patch codes and make
clear with question 2 and 3, it's fine.
But still, how about question 1?
On 2017/2/23 10:13, Yunlong Song wrote:
> Hi Jay,
> But there are some differences:
> 1 Why not take "neighbori
Hi Jay,
I miss some codes from your mail, now I check all your patch codes and make
clear with question 2 and 3, it's fine.
But still, how about question 1?
On 2017/2/23 10:13, Yunlong Song wrote:
> Hi Jay,
> But there are some differences:
> 1 Why not take "neighbori
milar patches as I attached.
>
> Thanks,
>
> On 02/22, Yunlong Song wrote:
>> Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
>> ---
>> fs/f2fs/segment.c | 9 +
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/fs/f2fs/segment.c b/f
milar patches as I attached.
>
> Thanks,
>
> On 02/22, Yunlong Song wrote:
>> Signed-off-by: Yunlong Song
>> ---
>> fs/f2fs/segment.c | 9 +
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
>> index
wanted to do like this.
>
> >From 8d344ac45890dd95c5734fd29a19a7c19364c327 Mon Sep 17 00:00:00 2001
> From: Yunlong Song <yunlong.s...@huawei.com>
> Date: Wed, 22 Feb 2017 20:50:49 +0800
> Subject: [PATCH] f2fs: do SSR for data when there is enough free space
>
> In allocate_segment_by_default(),
wanted to do like this.
>
> >From 8d344ac45890dd95c5734fd29a19a7c19364c327 Mon Sep 17 00:00:00 2001
> From: Yunlong Song
> Date: Wed, 22 Feb 2017 20:50:49 +0800
> Subject: [PATCH] f2fs: do SSR for data when there is enough free space
>
> In allocate_segment_by_default(), need_SSR() already detected it'
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index df2ff5c..80997f5 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1541,7 +1541,7 @@ stat
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 9d13743..5fe71b9 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1540,12 +1540,17 @@ stat
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index df2ff5c..80997f5 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1541,7 +1541,7 @@ static int get_ssr_segment(struct
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 9d13743..5fe71b9 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1540,12 +1540,17 @@ static int get_ssr_segment(struct
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 80997f5..9d13743 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1541,9 +1
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 80997f5..9d13743 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1541,9 +1541,13 @@ static int get_ssr_segment
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/gc.c | 16
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 88e5e7b..e5f2569 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -943,23 +943,15 @@ int f2fs_gc(
Signed-off-by: Yunlong Song
---
fs/f2fs/gc.c | 16
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 88e5e7b..e5f2569 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -943,23 +943,15 @@ int f2fs_gc(struct f2fs_sb_info *sbi, bool sync
dirty segments inside
refresh_sit_entry") puts it into wrong location.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index df2ff5c..89052df 1006
dirty segments inside
refresh_sit_entry") puts it into wrong location.
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index df2ff5c..89052df 100644
--- a/fs/f2fs/segment.c
+++
If the free segments are used up, then new_curseg will fail for
CURSEG_WARM_NODE, in this case, we should use change_curseg instead of
new_curseg.
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segment.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/f2fs/segme
If the free segments are used up, then new_curseg will fail for
CURSEG_WARM_NODE, in this case, we should use change_curseg instead of
new_curseg.
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
include/f2fs_fs.h | 3 +++
lib/libf2fs.c | 3 +++
mkfs/f2fs_format.c | 21 ++---
mkfs/f2fs_format_main.c | 10 +-
4 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/i
Signed-off-by: Yunlong Song
---
include/f2fs_fs.h | 3 +++
lib/libf2fs.c | 3 +++
mkfs/f2fs_format.c | 21 ++---
mkfs/f2fs_format_main.c | 10 +-
4 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
he overprovision segments at all for this consideration.
Yunlong Song (2):
mkfs.f2fs: add option to set the value of reserved segments
and overprovision segments
f2fs: fix the case when there is no free segment to allocate for
CURSEG_WARM_NODE
fs/f2fs/segment.c | 2 --
1
he overprovision segments at all for this consideration.
Yunlong Song (2):
mkfs.f2fs: add option to set the value of reserved segments
and overprovision segments
f2fs: fix the case when there is no free segment to allocate for
CURSEG_WARM_NODE
fs/f2fs/segment.c | 2 --
1
amp; !IS_CURSEG(sbi, cpc->trim_start)" is true, since the
other
blocks of that segment has already sent small discard when they got invalid
before, and we just need to send the discard of that deleted file which
is the last one taking up in the segment.
On 2017/1/5 6:36, Jaegeuk Kim wrot
amp; !IS_CURSEG(sbi, cpc->trim_start)" is true, since the
other
blocks of that segment has already sent small discard when they got invalid
before, and we just need to send the discard of that deleted file which
is the last one taking up in the segment.
On 2017/1/5 6:36, Jaegeuk Kim wrot
invalidate blocks of that file can
not be discarded in FTL layer on time.
On 2017/1/4 9:55, Jaegeuk Kim wrote:
> Hi Yunlong,
>
> On 01/03, Yunlong Song wrote:
>> In the small discard case, when se->valid_blocks is zero, the
>> add_discard_addrs
>> will dir
invalidate blocks of that file can
not be discarded in FTL layer on time.
On 2017/1/4 9:55, Jaegeuk Kim wrote:
> Hi Yunlong,
>
> On 01/03, Yunlong Song wrote:
>> In the small discard case, when se->valid_blocks is zero, the
>> add_discard_addrs
>> will dir
nt, se->valid_blocks = n
3. Delete that file, se->valid_blocks = 0, add_discard_addrs will return without
sending any discard of that file, and forever due to cur_map[i] ^ ckpt_map[i] =
0 after that checkpoint
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
fs/f2fs/segmen
nt, se->valid_blocks = n
3. Delete that file, se->valid_blocks = 0, add_discard_addrs will return without
sending any discard of that file, and forever due to cur_map[i] ^ ckpt_map[i] =
0 after that checkpoint
Signed-off-by: Yunlong Song
---
fs/f2fs/segment.c | 2 +-
1 file changed, 1 ins
Signed-off-by: Yunlong Song <yunlong.s...@huawei.com>
---
include/linux/blk_types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 436f43f..b7221b3 100644
--- a/include/linux/blk_types.h
+++ b/include
Signed-off-by: Yunlong Song
---
include/linux/blk_types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 436f43f..b7221b3 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -117,7 +117,7
f2fs_put_page(page, 1);
return ERR_PTR(-EIO);
}
@@ -967,7 +967,6 @@ repeat:
goto repeat;
}
got_it:
- f2fs_bug_on(nid != nid_of_node(page));
mark_page_accessed(page);
return page;
}
--
Thanks,
Yunlong Song
);
}
@@ -967,7 +967,6 @@ repeat:
goto repeat;
}
got_it:
- f2fs_bug_on(nid != nid_of_node(page));
mark_page_accessed(page);
return page;
}
--
Thanks,
Yunlong Song
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its p
f2fs_put_page(page, 1);
> + return ERR_PTR(-EIO);
> + }
> return page;
> }
>
>
--
Thanks,
Yunlong Song
f2fs_put_page(page, 1);
> + return ERR_PTR(-EIO);
> + }
> return page;
> }
>
>
--
Thanks,
Yunlong Song
Forget this wrong version, I have re-sent a patch v2 version.
--
Thanks,
Yunlong Song
Forget this wrong version, I have re-sent a patch v2 version.
--
Thanks,
Yunlong Song
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its p
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its p
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its
2FS_CHECK_FS is off when "sometimes it
was reported that its contents was missing" happens.
This patch restores to check node page contents all the time, and
returns the errno to make the caller known something is wrong and avoid
to use the page. This patch also moves f2fs_bug_on to its p
301 - 400 of 716 matches
Mail list logo