From: Liu Bo <bo.li.liu@oracle.com>
To: Dave Jones <davej@codemonkey.org.uk>
Cc: Chris Mason <clm@fb.com>, Josef Bacik <jbacik@fb.com>,
David Sterba <dsterba@suse.com>,
linux-btrfs@vger.kernel.org
Subject: Re: assertion failed: page_ops & PAGE_LOCK
Date: Mon, 6 Mar 2017 18:29:29 -0800 [thread overview]
Message-ID: <20170307022929.GA11113@lim.localdomain> (raw)
In-Reply-To: <20170305165917.2epbvdtulalrfxc3@codemonkey.org.uk>
On Sun, Mar 05, 2017 at 11:59:17AM -0500, Dave Jones wrote:
> After commenting out the assertion that Liu bo pointed out was bogus,
> my trinity runs last a little longer.. This is a new one I think..
>
Could you please try this patch?
Thanks,
-liubo
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 28e8192..8df7974 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1714,7 +1714,8 @@ static int __process_pages_contig(struct address_space *mapping,
* can we find nothing at @index.
*/
ASSERT(page_ops & PAGE_LOCK);
- return ret;
+ err = -EAGAIN;
+ goto out;
}
for (i = 0; i < ret; i++) {
> assertion failed: page_ops & PAGE_LOCK, file: fs/btrfs/extent_io.c, line: 1716
> ------------[ cut here ]------------
> kernel BUG at fs/btrfs/ctree.h:3423!
> invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> CPU: 1 PID: 32625 Comm: trinity-c40 Not tainted 4.10.0-think+ #3
> task: ffff8804c6b95440 task.stack: ffffc90000ba8000
> RIP: 0010:assfail.constprop.68+0x1c/0x1e
> RSP: 0018:ffffc90000bab6c0 EFLAGS: 00010282
> RAX: 000000000000004e RBX: 00000000000000a3 RCX: 0000000000000001
> RDX: 0000000000000000 RSI: ffffffff81ee593a RDI: 00000000ffffffff
> RBP: ffffc90000bab6c0 R08: 0000000000000000 R09: 0000000000000001
> R10: 0000000000000001 R11: 0000000000000000 R12: ffffc90000bab790
> R13: 0000000000000000 R14: 00000000000001f8 R15: ffffea000b2026c0
> FS: 00007f102a0e4b40(0000) GS:ffff880507a00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f1029f21000 CR3: 00000004c6bde000 CR4: 00000000001406e0
> DR0: 00007f695d948000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000600
> Call Trace:
> __process_pages_contig+0x4b4/0x4d0
> __unlock_for_delalloc.isra.43+0x32/0x50
> find_lock_delalloc_range+0x15e/0x210
> writepage_delalloc.isra.51+0x91/0x1a0
> __extent_writepage+0x10d/0x470
> extent_write_cache_pages.constprop.57+0x2d3/0x430
> extent_writepages+0x5d/0x90
> ? btrfs_releasepage+0x20/0x20
> btrfs_writepages+0x28/0x30
> do_writepages+0x21/0x30
> __filemap_fdatawrite_range+0xc6/0x100
> filemap_fdatawrite_range+0x13/0x20
> btrfs_fdatawrite_range+0x20/0x50
> start_ordered_ops+0x19/0x30
> btrfs_sync_file+0x99/0x540
> ? debug_smp_processor_id+0x17/0x20
> ? get_lock_stats+0x19/0x50
> ? debug_smp_processor_id+0x17/0x20
> ? get_lock_stats+0x19/0x50
> vfs_fsync_range+0x4b/0xb0
> btrfs_file_write_iter+0x412/0x570
> ? rcu_sync_lockdep_assert+0x2f/0x60
> __do_readv_writev+0x2ea/0x380
> do_readv_writev+0x7c/0xc0
> ? debug_smp_processor_id+0x17/0x20
> ? get_lock_stats+0x19/0x50
> ? __context_tracking_exit.part.5+0x82/0x1e0
> vfs_writev+0x3f/0x50
> do_pwritev+0xb5/0xd0
> SyS_pwritev2+0x17/0x30
> do_syscall_64+0x66/0x1d0
> entry_SYSCALL64_slow_path+0x25/0x25
> RIP: 0033:0x7f1029a0e0f9
> RSP: 002b:00007ffe59e72c48 EFLAGS: 00000246
> [CONT START] ORIG_RAX: 0000000000000148
> RAX: ffffffffffffffda RBX: 0000000000000148 RCX: 00007f1029a0e0f9
> RDX: 00000000000000f2 RSI: 0000562b5ef7de50 RDI: 0000000000000185
> RBP: 00007f1029fc5000 R08: 000008002180528a R09: 0000000000000007
> R10: 000000000000baba R11: 0000000000000246 R12: 0000000000000002
> R13: 00007f1029fc5048 R14: 00007f102a0e4ad8 R15: 00007f1029fc5000
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2017-03-07 2:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-05 16:59 assertion failed: page_ops & PAGE_LOCK Dave Jones
2017-03-06 19:57 ` Liu Bo
2017-03-07 2:29 ` Liu Bo [this message]
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=20170307022929.GA11113@lim.localdomain \
--to=bo.li.liu@oracle.com \
--cc=clm@fb.com \
--cc=davej@codemonkey.org.uk \
--cc=dsterba@suse.com \
--cc=jbacik@fb.com \
--cc=linux-btrfs@vger.kernel.org \
/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).