Hello Josef,

I have a workload running at the moment and I'm seeing a lot of these (paste 1) messages in dmesg, this is the 3.1 kernel with your patch applied.

At the end I see a couple of the old warnings (paste 2).

Futhermore it looks like after a while the speed of the filesystem decreases. I have a workload with 20 rsyncs and a total of about 1.5T data. I don't make it to have a full run.

Stefan

Paste 1:

[ 2433.606793] ------------[ cut here ]------------
[ 2433.606810] WARNING: at fs/btrfs/extent-tree.c:3592 block_rsv_release_bytes+0x12b/0x140 [btrfs]()
[ 2433.606814] Hardware name: X8ST3
[ 2433.606816] Modules linked in: btrfs zlib_deflate lzo_compress md_mod target_core_mod configfs ahci libahci e1000e mptsas mptscsih mptbase i7core_edac scsi_transport_sas bnx2 i5000_edac edac_core ipmi_devintf ipmi_msghandler [ 2433.606838] Pid: 6757, comm: ceph-osd Tainted: G W 3.1.1-rc1-un13.1-64-nohz #1
[ 2433.606841] Call Trace:
[ 2433.606848]  [<ffffffff81036e0a>] warn_slowpath_common+0x7a/0xb0
[ 2433.606858]  [<ffffffff81036e55>] warn_slowpath_null+0x15/0x20
[ 2433.606871] [<ffffffffa011ed5b>] block_rsv_release_bytes+0x12b/0x140 [btrfs] [ 2433.606884] [<ffffffffa011ed9d>] btrfs_block_rsv_release+0x2d/0x50 [btrfs] [ 2433.606897] [<ffffffffa011eeaf>] btrfs_orphan_release_metadata+0x2f/0x40 [btrfs]
[ 2433.606915]  [<ffffffffa013f58d>] btrfs_orphan_del+0xbd/0xf0 [btrfs]
[ 2433.606932]  [<ffffffffa0140ab7>] btrfs_truncate+0x587/0x600 [btrfs]
[ 2433.606950]  [<ffffffffa0140b77>] btrfs_setsize+0x47/0xc0 [btrfs]
[ 2433.606968]  [<ffffffffa0140c95>] btrfs_setattr+0xa5/0xd0 [btrfs]
[ 2433.606973]  [<ffffffff810e552a>] notify_change+0x10a/0x2b0
[ 2433.606979]  [<ffffffff810cb75f>] do_truncate+0x5f/0x90
[ 2433.606985]  [<ffffffff810cb8d4>] sys_truncate+0x144/0x1a0
[ 2433.606991]  [<ffffffff813fd97b>] system_call_fastpath+0x16/0x1b
[ 2433.606995] ---[ end trace 5bebc7a2c26b1a32 ]---

Paste 2:

[ 2433.618285] ------------[ cut here ]------------
[ 2433.618306] WARNING: at fs/btrfs/inode.c:2198 btrfs_orphan_commit_root+0xa8/0xc0 [btrfs]()
[ 2433.618310] Hardware name: X8ST3
[ 2433.618312] Modules linked in: btrfs zlib_deflate lzo_compress md_mod target_core_mod configfs ahci libahci e1000e mptsas mptscsih mptbase i7core_edac scsi_transport_sas bnx2 i5000_edac edac_core ipmi_devintf ipmi_msghandler [ 2433.618334] Pid: 6756, comm: ceph-osd Tainted: G W 3.1.1-rc1-un13.1-64-nohz #1
[ 2433.618337] Call Trace:
[ 2433.618344]  [<ffffffff81036e0a>] warn_slowpath_common+0x7a/0xb0
[ 2433.618350]  [<ffffffff81036e55>] warn_slowpath_null+0x15/0x20
[ 2433.618368] [<ffffffffa013f4b8>] btrfs_orphan_commit_root+0xa8/0xc0 [btrfs]
[ 2433.618384]  [<ffffffffa0133c84>] commit_fs_roots+0xc4/0x1b0 [btrfs]
[ 2433.618396]  [<ffffffffa011a475>] ? btrfs_free_path+0x25/0x30 [btrfs]
[ 2433.618413] [<ffffffffa0134c4e>] btrfs_commit_transaction+0x3be/0x7e0 [btrfs]
[ 2433.618429]  [<ffffffffa0133fe3>] ? wait_current_trans+0x23/0x110 [btrfs]
[ 2433.618445]  [<ffffffffa0135150>] ? join_transaction+0x20/0x250 [btrfs]
[ 2433.618451]  [<ffffffff81052870>] ? wake_up_bit+0x40/0x40
[ 2433.618463]  [<ffffffffa01134a7>] btrfs_sync_fs+0x47/0x70 [btrfs]
[ 2433.618468]  [<ffffffff8102d80b>] ? pick_next_task_fair+0x10b/0x190
[ 2433.618484]  [<ffffffffa0160754>] btrfs_ioctl+0x4f4/0xd60 [btrfs]
[ 2433.618491]  [<ffffffff810fffb5>] ? fsnotify+0x1e5/0x310
[ 2433.618498]  [<ffffffff810dca7b>] do_vfs_ioctl+0x9b/0x4f0
[ 2433.618504]  [<ffffffff810dcf1a>] sys_ioctl+0x4a/0x80
[ 2433.618510]  [<ffffffff813fd97b>] system_call_fastpath+0x16/0x1b
[ 2433.618514] ---[ end trace 5bebc7a2c26b1a33 ]---

On 11/09/2011 04:35 PM, Josef Bacik wrote:
On Wed, Nov 09, 2011 at 11:24:50AM +0100, Stefan Kleijkers wrote:
Hello,

I'm seeing a lot of warnings in dmesg with a BTRFS filesystem. I'm
using the 3.1 kernel, I found a patch for these warnings (
http://marc.info/?l=linux-btrfs&m=131547325515336&w=2)
<http://marc.info/?l=linux-btrfs&m=131547325515336&w=2>, but that
patch has already been included in 3.1. Are there any other patches
I can try?

I'm using BTRFS in combination with Ceph and it looks like after a
while with a high rsync workload that the IO stalls for some time,
could the warnings result in IO stall?

Can you run with this patch and see if you get warnings from extent-tree.c?
Thanks,

Josef


diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 0b044e5..144cd8e 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -3721,6 +3721,7 @@ static void block_rsv_release_bytes(struct 
btrfs_block_rsv *block_rsv,
        spin_lock(&block_rsv->lock);
        if (num_bytes == (u64)-1)
                num_bytes = block_rsv->size;
+       WARN_ON(block_rsv->size<  num_bytes);
        block_rsv->size -= num_bytes;
        if (block_rsv->reserved>= block_rsv->size) {
                num_bytes = block_rsv->reserved - block_rsv->size;
--
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

--
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