linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
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

------------------------------------------------------------------------------

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).