On 09/26/2012 01:39 AM, Mitch Harder wrote:
> On Mon, Sep 17, 2012 at 4:58 AM, Liu Bo <bo.li....@oracle.com> wrote:
>> This comes from one of btrfs's project ideas,
>> As we defragment files, we break any sharing from other snapshots.
>> The balancing code will preserve the sharing, and defrag needs to grow this
>> as well.
>>
>> Now we're able to fill the blank with this patch, in which we make full use 
>> of
>> backref walking stuff.
>>
>> Here is the basic idea,
>> o  set the writeback ranges started by defragment with flag EXTENT_DEFRAG
>> o  at endio, after we finish updating fs tree, we use backref walking to find
>>    all parents of the ranges and re-link them with the new COWed file layout 
>> by
>>    adding corresponding backrefs.
>>
>> Originally patch by Li Zefan <l...@cn.fujitsu.com>
>> Signed-off-by: Liu Bo <bo.li....@oracle.com>
> 
> I'm hitting the WARN_ON in record_extent_backrefs() indicating a
> problem with the return value from iterate_inodes_from_logical().
> 
> [ 6865.184782] ------------[ cut here ]------------
> [ 6865.184819] WARNING: at fs/btrfs/inode.c:2062
> record_extent_backrefs+0xe5/0xe7 [btrfs]()
> [ 6865.184823] Hardware name: OptiPlex 745
> [ 6865.184825] Modules linked in: lpc_ich mfd_core xts gf128mul cryptd
> aes_x86_64 sha256_generic btrfs libcrc32c
> [ 6865.184841] Pid: 4239, comm: btrfs-endio-wri Not tainted 3.5.4-git-local+ 
> #1
> [ 6865.184844] Call Trace:
> [ 6865.184856]  [<ffffffff81031d6a>] warn_slowpath_common+0x74/0xa2
> [ 6865.184862]  [<ffffffff81031db2>] warn_slowpath_null+0x1a/0x1c
> [ 6865.184884]  [<ffffffffa003356b>] record_extent_backrefs+0xe5/0xe7 [btrfs]
> [ 6865.184908]  [<ffffffffa003cf3a>] btrfs_finish_ordered_io+0x131/0xa4b 
> [btrfs]
> [ 6865.184930]  [<ffffffffa003d869>] finish_ordered_fn+0x15/0x17 [btrfs]
> [ 6865.184951]  [<ffffffffa005882f>] worker_loop+0x145/0x516 [btrfs]
> [ 6865.184959]  [<ffffffff81059727>] ? __wake_up_common+0x54/0x84
> [ 6865.184983]  [<ffffffffa00586ea>] ? btrfs_queue_worker+0x2d3/0x2d3 [btrfs]
> [ 6865.184989]  [<ffffffff810516bb>] kthread+0x93/0x98
> [ 6865.184996]  [<ffffffff817d7934>] kernel_thread_helper+0x4/0x10
> [ 6865.185001]  [<ffffffff81051628>] ? kthread_freezable_should_stop+0x6a/0x6a
> [ 6865.185021]  [<ffffffff817d7930>] ? gs_change+0xb/0xb
> [ 6865.185025] ---[ end trace 26cc0e186efc79d8 ]---
> 
> 
> I'm testing a 3.5.4 kernel merged with 3.6_rc patchset as well as the
> send_recv patches and most of the btrfs-next patches.
> 
> I'm running into this issue when mounting with autodefrag, and running
> some snapshot tests.
> 
> This may be related to a problem elsewhere, because I've been
> encountering other backref issues even before testing this patch.
> 

Oh, will look into it, thanks for the report.

thanks,
liubo

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to