mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.cz>
To: Anand Jain <anand.jain@oracle.com>
Cc: syzbot <syzbot+10d5b62a8d7046b86d22@syzkaller.appspotmail.com>,
	clm@fb.com, dsterba@suse.com, josef@toxicpanda.com,
	linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] [btrfs?] WARNING in btrfs_use_block_rsv
Date: Tue, 28 Nov 2023 17:40:10 +0100	[thread overview]
Message-ID: <20231128164010.GM18929@twin.jikos.cz> (raw)
In-Reply-To: <531f8f07-6c4c-66bb-1d8e-7637222154af@oracle.com>

On Sun, Nov 26, 2023 at 06:59:41AM +0800, Anand Jain wrote:
> 
> 
> On 25/11/2023 10:08, syzbot wrote:
> > syzbot has bisected this issue to:
> > 
> > commit a5b8a5f9f8355d27a4f8d0afa93427f16d2f3c1e
> > Author: Anand Jain <anand.jain@oracle.com>
> > Date:   Thu Sep 28 01:09:47 2023 +0000
> > 
> >      btrfs: support cloned-device mount capability
> > 
> > bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=1446d344e80000
> > start commit:   d3fa86b1a7b4 Merge tag 'net-6.7-rc3' of git://git.kernel.o..
> > git tree:       upstream
> > final oops:     https://syzkaller.appspot.com/x/report.txt?x=1646d344e80000
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1246d344e80000
> > kernel config:  https://syzkaller.appspot.com/x/.config?x=6ae1a4ee971a7305
> > dashboard link: https://syzkaller.appspot.com/bug?extid=10d5b62a8d7046b86d22
> > syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=1431040ce80000
> > 
> > Reported-by: syzbot+10d5b62a8d7046b86d22@syzkaller.appspotmail.com
> > Fixes: a5b8a5f9f835 ("btrfs: support cloned-device mount capability")
> > 
> > For information about bisection process see: https://goo.gl/tpsmEJ#bisection
> 
> 
> It is completely strange that this issue bisects to the commit
> a5b8a5f9f835 ('btrfs: support cloned-device mount capability').
> I am unable to reproduce this as well.

I think it's because of changed timing or it can be an inconclusive
bisect. Things around space handling depend on timing, the test would
need to be run a few times to be sure.

The report provides an image so it may be good to analyze if it's scaled
properly or if the reproducer does something strange.

> -------------------
> WARNING: CPU: 1 PID: 58 at fs/btrfs/block-rsv.c:523 
> btrfs_use_block_rsv+0x60d/0x860 fs/btrfs/block-rsv.c:523
> <snap>
> Call Trace:
>   <TASK>
>   btrfs_alloc_tree_block+0x1e0/0x12c0 fs/btrfs/extent-tree.c:5114
>   btrfs_force_cow_block+0x3e5/0x19e0 fs/btrfs/ctree.c:563
>   btrfs_cow_block+0x2b6/0xb30 fs/btrfs/ctree.c:741
>   push_leaf_left+0x315/0x4d0 fs/btrfs/ctree.c:3485
>   split_leaf+0x9c3/0x13b0 fs/btrfs/ctree.c:3681
>   search_leaf fs/btrfs/ctree.c:1944 [inline]
>   btrfs_search_slot+0x24ba/0x2fd0 fs/btrfs/ctree.c:2131
>   btrfs_insert_empty_items+0xb6/0x1b0 fs/btrfs/ctree.c:4285
>   btrfs_insert_empty_item fs/btrfs/ctree.h:657 [inline]
>   insert_reserved_file_extent+0x7aa/0x950 fs/btrfs/inode.c:2907
>   insert_ordered_extent_file_extent fs/btrfs/inode.c:3005 [inline]
>   btrfs_finish_one_ordered+0x12dc/0x20d0 fs/btrfs/inode.c:3113
>   btrfs_work_helper+0x210/0xbf0 fs/btrfs/async-thread.c:315
>   process_one_work+0x886/0x15d0 kernel/workqueue.c:2630
>   process_scheduled_works kernel/workqueue.c:2703 [inline]
>   worker_thread+0x8b9/0x1290 kernel/workqueue.c:2784
>   kthread+0x2c6/0x3a0 kernel/kthread.c:388
>   ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
>   ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242
> -----------------
> 
> btrfs_use_block_rsv()
> <snap>
>          /*
>           * The global reserve still exists to save us from ourselves, 
> so don't
>           * warn_on if we are short on our delayed refs reserve.
>           */
>          if (block_rsv->type != BTRFS_BLOCK_RSV_DELREFS &&
>              btrfs_test_opt(fs_info, ENOSPC_DEBUG)) {
>                  static DEFINE_RATELIMIT_STATE(_rs,
>                                  DEFAULT_RATELIMIT_INTERVAL * 10,
>                                  /*DEFAULT_RATELIMIT_BURST*/ 1);
>                  if (__ratelimit(&_rs))
>                          WARN(1, KERN_DEBUG
>                                  "BTRFS: block rsv %d returned %d\n",
>                                  block_rsv->type, ret);
>          }
> ----------

  reply	other threads:[~2023-11-28 16:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-30 22:29 syzbot
2023-11-25  2:08 ` syzbot
2023-11-25 22:59   ` Anand Jain
2023-11-28 16:40     ` David Sterba [this message]
2023-11-28 18:09       ` Aleksandr Nogikh

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=20231128164010.GM18929@twin.jikos.cz \
    --to=dsterba@suse.cz \
    --cc=anand.jain@oracle.com \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=syzbot+10d5b62a8d7046b86d22@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    /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

all inboxes | Powered by JetHome®