https://github.com/torvalds/linux
Revision 01d658f2ca3c85c1ffb20b306e30d16197000ce7 authored by Chris Mason on 01 November 2011, 14:08:06 UTC, committed by Chris Mason on 06 November 2011, 08:03:48 UTC
write_cache_pages tries to build up a large bio to stuff down the pipe.
But if it needs to wait for a page lock, it needs to make sure and send
down any pending writes so we don't deadlock with anyone who has the
page lock and is waiting for writeback of things inside the bio.

Dave Sterba triggered this as a deadlock between the autodefrag code and
the extent write_cache_pages

Signed-off-by: Chris Mason <chris.mason@oracle.com>
1 parent e688b72
History
Tip revision: 01d658f2ca3c85c1ffb20b306e30d16197000ce7 authored by Chris Mason on 01 November 2011, 14:08:06 UTC
Btrfs: make sure to flush queued bios if write_cache_pages waits
Tip revision: 01d658f
File Mode Size
Documentation
arch
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore -rw-r--r-- 1014 bytes
.mailmap -rw-r--r-- 4.1 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 92.6 KB
Kbuild -rw-r--r-- 2.4 KB
Kconfig -rw-r--r-- 252 bytes
MAINTAINERS -rw-r--r-- 196.7 KB
Makefile -rw-r--r-- 52.3 KB
README -rw-r--r-- 17.0 KB
REPORTING-BUGS -rw-r--r-- 3.3 KB

README

back to top