From: Marc MERLIN <marc@merlins.org>
To: linux-btrfs@vger.kernel.org
Subject: 3.15-rc5 deadlocked a 2nd time after I was copying photos from an sdcard + common code path that deadlocks all btrfs filesystems
Date: Mon, 19 May 2014 06:49:15 -0700 [thread overview]
Message-ID: <20140519134915.GA27432@merlins.org> (raw)
Ok, that's 2 out of 2.
I was copying pictures from an sdcard (through mmcblk0), and the
filesystem deadlocked.
Unfortunately, when this happens, I copied my pictures (which were still
in RAM) to my 2nd drive which was also btrfs.
I had to reboot, and of course the last pictures didn't get committed to
disk, but more annoyingly the copy I did to the second drive didn't work
either.
All the filenames got copied to the 2nd drive, some ended up with data,
and others ended up empty.
Why does a deadlock on drive 1 also cause btrfs to fail to write to
drive #2?
This is not the first time, there seem to be common codepaths across all
drives (just like disk array #1 having problems causing failure of
syslog to work on the boot drive with btrfs).
I tried to capture sysrq+w, but it didn't make it to disk because of that bug.
I do have remote syslog of the hangs before that though, but the capture of sysrq+w
has too much missing data to be useful
http://marc.merlins.org/tmp/btrfs-hang.txt
Mmmh, maybe the deadlock is more complicated. I had a 2nd syslog stream
going to an ext4 filesystem, exactly to get around that btrfs master
deadlock, and now I see that didn't work either.
If sync hangs, and logging to an ext4 filesystem didn't work, am I
hitting another bug/hardware problem?
Here's what I got at the end?
[194790.138156] FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[194790.140892] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[194932.445153] INFO: task IndexedDB:29612 blocked for more than 120 seconds.
[194932.445161] Tainted: G W 3.15.0-rc5-amd64-i915-preempt-20140216s1 #2
[194932.445163] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[194932.445166] IndexedDB D ffff8800ccde8bc0 0 29612 5570 0x00000080
[194932.445172] ffff8801b521fc30 0000000000000086 ffff8801b521fc00 ffff8801b521ffd8
[194932.445178] ffff8801d622a450 00000000000141c0 ffff88041e3941c0 ffff8801d622a450
[194932.445182] ffff8801b521fcd0 0000000000000002 ffffffff810fda1a ffff8801b521fc40
[194932.445188] Call Trace:
[194932.445198] [<ffffffff810fda1a>] ? wait_on_page_read+0x3c/0x3c
[194932.445209] [<ffffffff8161ca1b>] io_schedule+0x60/0x7a
[194932.445214] [<ffffffff810fda28>] sleep_on_page+0xe/0x12
[194932.445219] [<ffffffff8161cdab>] __wait_on_bit_lock+0x46/0x8a
[194932.445223] [<ffffffff810fdae3>] __lock_page+0x69/0x6b
[194932.445228] [<ffffffff81084771>] ? autoremove_wake_function+0x34/0x34
[194932.445232] [<ffffffff81240c41>] lock_page+0x1e/0x21
[194932.445237] [<ffffffff81244779>] extent_write_cache_pages.isra.16.constprop.32+0x10e/0x2c3
[194932.445243] [<ffffffff8161d2d4>] ? mutex_unlock+0x16/0x18
[194932.445248] [<ffffffff81239c74>] ? btrfs_file_aio_write+0x3e9/0x4b6
[194932.445251] [<ffffffff81244bd4>] extent_writepages+0x4b/0x5c
[194932.445255] [<ffffffff8122ee1f>] ? btrfs_submit_direct+0x3f4/0x3f4
[194932.445262] [<ffffffff8122d3fa>] btrfs_writepages+0x28/0x2a
[194932.445267] [<ffffffff811082b1>] do_writepages+0x1e/0x2c
[194932.445272] [<ffffffff810ff179>] __filemap_fdatawrite_range+0x55/0x57
[194932.445277] [<ffffffff810ff1ef>] filemap_fdatawrite_range+0x13/0x15
[194932.445280] [<ffffffff8123885a>] btrfs_sync_file+0xa8/0x2b3
[194932.445286] [<ffffffff8132048f>] ? __percpu_counter_add+0x8c/0xa6
[194932.445292] [<ffffffff8117a1a7>] vfs_fsync_range+0x18/0x22
[194932.445296] [<ffffffff8117a1cd>] vfs_fsync+0x1c/0x1e
[194932.445299] [<ffffffff8117a3d9>] do_fsync+0x2c/0x4c
[194932.445303] [<ffffffff8117a5f9>] SyS_fdatasync+0x13/0x17
[194932.445308] [<ffffffff81625bad>] system_call_fastpath+0x1a/0x1f
[194932.445395] INFO: task kworker/u16:35:3812 blocked for more than 120 seconds.
[194932.445398] Tainted: G W 3.15.0-rc5-amd64-i915-preempt-20140216s1 #2
[194932.445400] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[194932.445403] kworker/u16:35 D 0000000000000000 0 3812 2 0x00000080
[194932.445410] Workqueue: writeback bdi_writeback_workfn (flush-btrfs-1)
[194932.445414] ffff88003b647a00 0000000000000046 ffff88003b6479d0 ffff88003b647fd8
[194932.445419] ffff88003b8ca590 00000000000141c0 ffff88041e3941c0 ffff88003b8ca590
[194932.445423] ffff88003b647aa0 0000000000000002 ffffffff810fda1a ffff88003b647a10
[194932.445427] Call Trace:
[194932.445432] [<ffffffff810fda1a>] ? wait_on_page_read+0x3c/0x3c
[194932.445437] [<ffffffff8161c876>] schedule+0x73/0x75
[194932.445441] [<ffffffff8161ca1b>] io_schedule+0x60/0x7a
[194932.445445] [<ffffffff810fda28>] sleep_on_page+0xe/0x12
[194932.445450] [<ffffffff8161cdab>] __wait_on_bit_lock+0x46/0x8a
[194932.445454] [<ffffffff810fdae3>] __lock_page+0x69/0x6b
[194932.445458] [<ffffffff81084771>] ? autoremove_wake_function+0x34/0x34
[194932.445461] [<ffffffff81240c41>] lock_page+0x1e/0x21
[194932.445465] [<ffffffff81244779>] extent_write_cache_pages.isra.16.constprop.32+0x10e/0x2c3
[194932.445470] [<ffffffff81244bd4>] extent_writepages+0x4b/0x5c
[194932.445473] [<ffffffff8122ee1f>] ? btrfs_submit_direct+0x3f4/0x3f4
[194932.445479] [<ffffffff8162280c>] ? preempt_count_add+0x77/0x8d
[194932.445483] [<ffffffff8122d3fa>] btrfs_writepages+0x28/0x2a
[194932.445488] [<ffffffff811082b1>] do_writepages+0x1e/0x2c
[194932.445492] [<ffffffff81175ef2>] __writeback_single_inode+0x7d/0x238
[194932.445495] [<ffffffff81176c2a>] writeback_sb_inodes+0x1eb/0x339
[194932.445499] [<ffffffff81176dec>] __writeback_inodes_wb+0x74/0xb7
[194932.445503] [<ffffffff81176f67>] wb_writeback+0x138/0x293
[194932.445507] [<ffffffff8117759f>] bdi_writeback_workfn+0x19a/0x329
[194932.445513] [<ffffffff8100d047>] ? load_TLS+0xb/0xf
[194932.445519] [<ffffffff81065d2e>] process_one_work+0x195/0x2d2
[194932.445523] [<ffffffff8106624a>] worker_thread+0x136/0x205
[194932.445526] [<ffffffff81066114>] ? rescuer_thread+0x27a/0x27a
[194932.445530] [<ffffffff8106b467>] kthread+0xae/0xb6
[194932.445534] [<ffffffff8106b3b9>] ? __kthread_parkme+0x61/0x61
[194932.445537] [<ffffffff81625afc>] ret_from_fork+0x7c/0xb0
[194932.445540] [<ffffffff8106b3b9>] ? __kthread_parkme+0x61/0x61
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | PGP 1024R/763BE901
next reply other threads:[~2014-05-19 13:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-19 13:49 Marc MERLIN [this message]
2014-06-17 6:29 ` 3.15-rc5 deadlocked a 2nd time after I was copying photos from an sdcard + common code path that deadlocks all btrfs filesystems Satoru Takeuchi
2014-06-17 14:40 ` Marc MERLIN
2014-06-17 14:59 ` frustrations with handling of crash reports Marc MERLIN
2014-06-17 18:27 ` Marc MERLIN
2014-06-18 13:23 ` Konstantinos Skarlatos
2014-06-18 21:22 ` Duncan
2014-06-19 8:56 ` Konstantinos Skarlatos
2014-06-19 15:06 ` Duncan
2014-06-19 15:19 ` Duncan
2014-06-19 17:37 ` Chris Murphy
2014-06-19 15:13 ` Marc MERLIN
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=20140519134915.GA27432@merlins.org \
--to=marc@merlins.org \
--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).