From: Jaegeuk Kim <jaegeuk@kernel.org>
To: Alexander Gordeev <alex@gordick.net>
Cc: Chao Yu <chao@kernel.org>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>
Subject: Re: video archive on a microSD card
Date: Mon, 29 Aug 2016 11:00:20 -0700 [thread overview]
Message-ID: <20160829180020.GF94184@jaegeuk> (raw)
In-Reply-To: <35301472489424@web15m.yandex.ru>
On Mon, Aug 29, 2016 at 07:50:24PM +0300, Alexander Gordeev wrote:
> Hi,
>
> I have an update about the first of the bugs, that I reported.
>
> 19.08.2016, 20:23, "Alexander Gordeev" <alex@gordick.net>:
> > Hi,
> >
> > I'd also like to report two bugs. I used f2fs-stable branch linux-3.10.y.
> > I'm using some proprietary modules also, but in my understanding they shouldn't affect the fs.
> >
> > 1. I have a Sandisk 16GB microSDHC card, that is quite old and may be at its end of life.
> > The bug is produced every time I try to delete any file on it.
> >
...
> As you can see, after to warnings goes an oops. I think it was overlooked.
> But it makes the most trouble to me.
>
> I tried to understand what's going on.
> It turns out that se->cur_valid_map is NULL in update_sit_entry().
> Probably, this is not expected.
Thank you for the analysis. :)
It seems the blkaddr is out-of-range.
Can you print out its blkaddr?
If possible, could you print out:
curseg->segno, curseg->next_blkoff,a curseg->next_segno
at the end of allocate_segment_by_default()?
Thanks,
>
> I made this patch:
>
> diff --git a/ambarella/kernel/linux-3.10/fs/f2fs/segment.c b/ambarella/kernel/linux-3.10/fs/f2fs/segment.c
> index 20eb067..767394e 100644
> --- a/ambarella/kernel/linux-3.10/fs/f2fs/segment.c
> +++ b/ambarella/kernel/linux-3.10/fs/f2fs/segment.c
> @@ -872,6 +872,7 @@ static void update_sit_entry(struct f2fs_sb_info *sbi, block_t blkaddr, int del)
>
> /* Update valid block bitmap */
> if (del > 0) {
> + f2fs_bug_on(sbi, !se->cur_valid_map);
> if (f2fs_test_and_set_bit(offset, se->cur_valid_map))
> f2fs_bug_on(sbi, 1);
> if (!f2fs_test_and_set_bit(offset, se->discard_map))
>
> And got this new warning:
>
> [ 49.878738] ------------[ cut here ]------------
> [ 49.913650] WARNING: at /home/alex/work/s2l/amb_S2l_SDK_2.5/SDK2.5/s2l_linux_sdk/ambarella/kernel/linux-3.10/fs/f2fs/segment.c:875 update_sit_entry+0xfc/0x274 [f2fs]()
> [ 49.956951] Modules linked in: crc32 f2fs ov4689_mipi(PO) xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack iptable_filter ip_tables x_tables sd_mod bcmdhd(O) cfg80v
> [ 50.047314] CPU: 0 PID: 421 Comm: f2fs_gc-8:0 Tainted: P W O 3.10.93 #1
> [ 50.066051] [<800128d0>] (unwind_backtrace+0x0/0x118) from [<80011180>] (show_stack+0x10/0x14)
> [ 50.097576] [<80011180>] (show_stack+0x10/0x14) from [<80020200>] (warn_slowpath_common+0x4c/0x68)
> [ 50.117019] [<80020200>] (warn_slowpath_common+0x4c/0x68) from [<800202ac>] (warn_slowpath_null+0x18/0x20)
> [ 50.127578] [<800202ac>] (warn_slowpath_null+0x18/0x20) from [<7f536b08>] (update_sit_entry+0xfc/0x274 [f2fs])
> [ 50.145997] [<7f536b08>] (update_sit_entry+0xfc/0x274 [f2fs]) from [<7f538838>] (refresh_sit_entry+0x1c/0xb8 [f2fs])
> [ 50.157110] [<7f538838>] (refresh_sit_entry+0x1c/0xb8 [f2fs]) from [<7f539840>] (allocate_data_block+0x238/0x318 [f2fs])
> [ 50.170414] [<7f539840>] (allocate_data_block+0x238/0x318 [f2fs]) from [<7f539b44>] (do_write_page+0x224/0x270 [f2fs])
> [ 50.211114] [<7f539b44>] (do_write_page+0x224/0x270 [f2fs]) from [<7f539c28>] (write_node_page+0x38/0x40 [f2fs])
> [ 50.235535] [<7f539c28>] (write_node_page+0x38/0x40 [f2fs]) from [<7f5322fc>] (f2fs_write_node_page+0x1f8/0x2e4 [f2fs])
> [ 50.262378] [<7f5322fc>] (f2fs_write_node_page+0x1f8/0x2e4 [f2fs]) from [<7f533a48>] (move_node_page+0xa8/0xe8 [f2fs])
> [ 50.303626] [<7f533a48>] (move_node_page+0xa8/0xe8 [f2fs]) from [<7f52ac60>] (do_garbage_collect+0x3b8/0xbbc [f2fs])
> [ 50.316456] [<7f52ac60>] (do_garbage_collect+0x3b8/0xbbc [f2fs]) from [<7f52b768>] (f2fs_gc+0x304/0x4e8 [f2fs])
> [ 50.327530] [<7f52b768>] (f2fs_gc+0x304/0x4e8 [f2fs]) from [<7f52bbc0>] (gc_thread_func+0x274/0x368 [f2fs])
> [ 50.340949] [<7f52bbc0>] (gc_thread_func+0x274/0x368 [f2fs]) from [<8003eb28>] (kthread+0xa0/0xac)
> [ 50.350623] [<8003eb28>] (kthread+0xa0/0xac) from [<8000dd60>] (ret_from_fork+0x14/0x34)
> [ 50.359590] ---[ end trace 2e2fd9e8fd78501a ]---
>
> --
> Alexander
------------------------------------------------------------------------------
next prev parent reply other threads:[~2016-08-29 18:00 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-12 11:52 video archive on a microSD card Alexander Gordeev
2016-08-15 10:47 ` Alexander Gordeev
2016-08-15 11:41 ` Chao Yu
2016-08-15 12:22 ` Alexander Gordeev
2016-08-16 15:29 ` Chao Yu
2016-08-17 9:47 ` Alexander Gordeev
2016-08-17 15:54 ` Chao Yu
2016-08-18 11:04 ` Alexander Gordeev
2016-08-19 2:41 ` Jaegeuk Kim
2016-08-19 11:56 ` Alexander Gordeev
2016-08-22 20:52 ` Alexander Gordeev
2016-08-23 21:12 ` Jaegeuk Kim
2016-08-25 20:14 ` Alexander Gordeev
2016-08-27 1:20 ` Jaegeuk Kim
[not found] ` <549571472473386@web20g.yandex.ru>
2016-08-29 18:23 ` Jaegeuk Kim
[not found] ` <9581472749471@web24h.yandex.ru>
2016-09-01 20:07 ` Jaegeuk Kim
2016-09-02 12:15 ` Alexander Gordeev
2016-08-23 20:27 ` Jaegeuk Kim
2016-08-19 17:22 ` Alexander Gordeev
2016-08-23 21:27 ` Jaegeuk Kim
2016-08-25 20:22 ` Alexander Gordeev
2016-08-26 16:04 ` Alexander Gordeev
2016-08-27 1:15 ` Jaegeuk Kim
2016-08-27 13:00 ` Alexander Gordeev
2016-08-29 16:50 ` Alexander Gordeev
2016-08-29 18:00 ` Jaegeuk Kim [this message]
2016-08-31 8:52 ` Alexander Gordeev
2016-08-31 23:46 ` Jaegeuk Kim
2016-09-01 17:40 ` Alexander Gordeev
2016-09-01 18:25 ` Jaegeuk Kim
2016-09-01 19:37 ` Alexander Gordeev
2016-09-01 20:15 ` Jaegeuk Kim
2016-09-02 12:05 ` Alexander Gordeev
2016-09-02 18:50 ` Jaegeuk Kim
2016-08-15 12:57 ` [PATCH] f2fs: fix build for v3.10 Alexander Gordeev
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=20160829180020.GF94184@jaegeuk \
--to=jaegeuk@kernel.org \
--cc=alex@gordick.net \
--cc=chao@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
/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.