* [PATCH] f2fs: fix recover orphan inodes
@ 2015-02-25 4:53 Wanpeng Li
2015-02-25 18:35 ` Jaegeuk Kim
0 siblings, 1 reply; 3+ messages in thread
From: Wanpeng Li @ 2015-02-25 4:53 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: Changman Lee, linux-f2fs-devel, linux-kernel, Wanpeng Li
recover_orphan_inodes is used to recover orphan inodes, the meta pages
which readahead should be orphan_blkaddr - start_blk instead of orphan_blkaddr.
This patch fix it.
Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
---
fs/f2fs/checkpoint.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index e6c271f..0f42ff3 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -468,9 +468,9 @@ void recover_orphan_inodes(struct f2fs_sb_info *sbi)
le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload);
orphan_blkaddr = __start_sum_addr(sbi) - 1;
- ra_meta_pages(sbi, start_blk, orphan_blkaddr, META_CP);
+ ra_meta_pages(sbi, start_blk, orphan_blkaddr - start_blk, META_CP);
- for (i = 0; i < orphan_blkaddr; i++) {
+ for (i = 0; i < orphan_blkaddr - start_blk; i++) {
struct page *page = get_meta_page(sbi, start_blk + i);
struct f2fs_orphan_block *orphan_blk;
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] f2fs: fix recover orphan inodes
2015-02-25 4:53 [PATCH] f2fs: fix recover orphan inodes Wanpeng Li
@ 2015-02-25 18:35 ` Jaegeuk Kim
2015-02-25 23:04 ` Wanpeng Li
0 siblings, 1 reply; 3+ messages in thread
From: Jaegeuk Kim @ 2015-02-25 18:35 UTC (permalink / raw)
To: Wanpeng Li; +Cc: Changman Lee, linux-f2fs-devel, linux-kernel
Hi Wanpeng,
On Wed, Feb 25, 2015 at 12:53:37PM +0800, Wanpeng Li wrote:
> recover_orphan_inodes is used to recover orphan inodes, the meta pages
> which readahead should be orphan_blkaddr - start_blk instead of orphan_blkaddr.
> This patch fix it.
>
> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
> ---
> fs/f2fs/checkpoint.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> index e6c271f..0f42ff3 100644
> --- a/fs/f2fs/checkpoint.c
> +++ b/fs/f2fs/checkpoint.c
> @@ -468,9 +468,9 @@ void recover_orphan_inodes(struct f2fs_sb_info *sbi)
> le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload);
Actually it seems the name, orphan_blkaddr, was wrong.
That should be orphan_blocks which is no need to fix like this.
Instead, I found there is another bug below.
> orphan_blkaddr = __start_sum_addr(sbi) - 1;
orphan_blocks = __start_sum_addr(sbi) - 1 -
le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload);
It may help to define a macro to get cp_payload.
>
> - ra_meta_pages(sbi, start_blk, orphan_blkaddr, META_CP);
> + ra_meta_pages(sbi, start_blk, orphan_blkaddr - start_blk, META_CP);
The orphan_blocks is enough. No need to fix this.
>
> - for (i = 0; i < orphan_blkaddr; i++) {
> + for (i = 0; i < orphan_blkaddr - start_blk; i++) {
ditto.
Thanks,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] f2fs: fix recover orphan inodes
2015-02-25 18:35 ` Jaegeuk Kim
@ 2015-02-25 23:04 ` Wanpeng Li
0 siblings, 0 replies; 3+ messages in thread
From: Wanpeng Li @ 2015-02-25 23:04 UTC (permalink / raw)
To: Jaegeuk Kim; +Cc: Changman Lee, linux-f2fs-devel, linux-kernel, Wanpeng Li
Hi Jaegeuk,
On Wed, Feb 25, 2015 at 10:35:23AM -0800, Jaegeuk Kim wrote:
>Hi Wanpeng,
>
>On Wed, Feb 25, 2015 at 12:53:37PM +0800, Wanpeng Li wrote:
>> recover_orphan_inodes is used to recover orphan inodes, the meta pages
>> which readahead should be orphan_blkaddr - start_blk instead of orphan_blkaddr.
>> This patch fix it.
>>
>> Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
>> ---
>> fs/f2fs/checkpoint.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
>> index e6c271f..0f42ff3 100644
>> --- a/fs/f2fs/checkpoint.c
>> +++ b/fs/f2fs/checkpoint.c
>> @@ -468,9 +468,9 @@ void recover_orphan_inodes(struct f2fs_sb_info *sbi)
>> le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload);
>
>Actually it seems the name, orphan_blkaddr, was wrong.
>That should be orphan_blocks which is no need to fix like this.
>
>Instead, I found there is another bug below.
>
>> orphan_blkaddr = __start_sum_addr(sbi) - 1;
> orphan_blocks = __start_sum_addr(sbi) - 1 -
> le32_to_cpu(F2FS_RAW_SUPER(sbi)->cp_payload);
Indeed, I will send a patch to fix it.
>
>It may help to define a macro to get cp_payload.
>
Will do. Thanks for your help. ;-)
Regards,
Wanpeng Li
>>
>> - ra_meta_pages(sbi, start_blk, orphan_blkaddr, META_CP);
>> + ra_meta_pages(sbi, start_blk, orphan_blkaddr - start_blk, META_CP);
>
>The orphan_blocks is enough. No need to fix this.
>
>>
>> - for (i = 0; i < orphan_blkaddr; i++) {
>> + for (i = 0; i < orphan_blkaddr - start_blk; i++) {
>
>ditto.
>
>Thanks,
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-02-25 23:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-25 4:53 [PATCH] f2fs: fix recover orphan inodes Wanpeng Li
2015-02-25 18:35 ` Jaegeuk Kim
2015-02-25 23:04 ` Wanpeng Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox