All of lore.kernel.org
 help / color / mirror / Atom feed
From: Miao Xie <miaox@cn.fujitsu.com>
To: Eric Sandeen <sandeen@redhat.com>
Cc: Tsutomu Itoh <t-itoh@jp.fujitsu.com>,
	Linux Btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [BUG] kernel BUG at fs/btrfs/async-thread.c:605!
Date: Mon, 04 Feb 2013 10:39:31 +0800	[thread overview]
Message-ID: <510F1F63.8000203@cn.fujitsu.com> (raw)
In-Reply-To: <510B5845.2020602@jp.fujitsu.com>

Hi, Eric

I want to send out my fix patch, but Could I add your Signed-off-by?
because you found the key to solving the problem.

Thanks
Miao

On Fri, 01 Feb 2013 14:53:09 +0900, Tsutomu Itoh wrote:
>>> Can you please explain similar problems, Miao?
>>
>> Before missing device check, there are several places where we read the metadata,
>> such as reading chunk tree root, btrfs_read_chunk_tree, those functions may fail
>> after submit a bio. If we don't wait until the bio end, and just stop the workers,
>> the same problem will happen.
>>
>> (invalidate_inode_pages2() will wait until the bio end, because it need lock the pages
>>   which are going to be invalidated, and the page is locked if it is under disk read IO)
> 
> I understood.
> 
> My reproducer is not reproduce this problem yet. But the following messages were
> displayed when 'rmmod btrfs' command was executed.
> 
>  [76378.723481] =============================================================================
>  [76378.723901] BUG btrfs_extent_buffer (Tainted: G   B       ): Objects remaining in btrfs_extent_buffer on kmem_cache_close()
>  [76378.724333] -----------------------------------------------------------------------------
>  [76378.724333]
>  [76378.724959] INFO: Slab 0xffffea00065c3280 objects=23 used=2 fp=0xffff8801970caac0 flags=0x8000000000004080
>  [76378.725391] Pid: 9156, comm: rmmod Tainted: G B        3.8.0-rc5 #1
>  [76378.725397] Call Trace:
>  [76378.725403]  [<ffffffff8111bc23>] slab_err+0xb0/0xd2
> 
> I think that this message means there is a possibility that I/O did not end
> normally.
> and, after Miao's patch applied, this message is not displayed when rmmod was
> executed.
> 
> So, Miao's patch seems to fix the problem for me.
[SNIP]
>>>> diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
>>>> index 0c31d07..d8fd711 100644
>>>> --- a/fs/btrfs/disk-io.c
>>>> +++ b/fs/btrfs/disk-io.c
>>>> @@ -2728,13 +2728,13 @@ fail_cleaner:
>>>>    	 * kthreads
>>>>    	 */
>>>>    	filemap_write_and_wait(fs_info->btree_inode->i_mapping);
>>>> -	invalidate_inode_pages2(fs_info->btree_inode->i_mapping);
>>>>    
>>>>    fail_block_groups:
>>>>    	btrfs_free_block_groups(fs_info);
>>>>    
>>>>    fail_tree_roots:
>>>>    	free_root_pointers(fs_info, 1);
>>>> +	invalidate_inode_pages2(fs_info->btree_inode->i_mapping);
>>>>    
>>>>    fail_sb_buffer:
>>>>    	btrfs_stop_workers(&fs_info->generic_worker);
>>>> @@ -2755,7 +2755,6 @@ fail_alloc:
>>>>    fail_iput:
>>>>    	btrfs_mapping_tree_free(&fs_info->mapping_tree);
>>>>    
>>>> -	invalidate_inode_pages2(fs_info->btree_inode->i_mapping);
>>>>    	iput(fs_info->btree_inode);
>>>>    fail_bdi:
>>>>    	bdi_destroy(&fs_info->bdi);
>>>>
> 
> 
> 


  reply	other threads:[~2013-02-04  2:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-31  3:37 [BUG] kernel BUG at fs/btrfs/async-thread.c:605! Tsutomu Itoh
2013-01-31  5:55 ` Eric Sandeen
2013-01-31  7:44   ` Miao Xie
2013-01-31  7:58   ` Miao Xie
2013-01-31 15:37     ` Eric Sandeen
2013-02-01  0:31     ` Tsutomu Itoh
2013-02-01  3:49       ` Miao Xie
2013-02-01  5:53         ` Tsutomu Itoh
2013-02-04  2:39           ` Miao Xie [this message]
2013-02-04 16:05             ` Eric Sandeen
2013-01-31  6:14 ` Miao Xie
2013-01-31  6:19   ` Eric Sandeen
2013-01-31  6:35     ` Miao Xie

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=510F1F63.8000203@cn.fujitsu.com \
    --to=miaox@cn.fujitsu.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=sandeen@redhat.com \
    --cc=t-itoh@jp.fujitsu.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 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.