jbd2: Add barrier not supported test to journal_wait_on_commit_record
authorTheodore Ts'o <tytso@mit.edu>
Tue, 17 Feb 2009 15:32:24 +0000 (10:32 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 20 Feb 2009 22:40:24 +0000 (14:40 -0800)
commit576c7a89a4b692087464c0d5cd926ed1dc20095b
treee2b97540749080280cd37fe37f16bb5a2e38b04e
parentb823aa0a9c93ba5cbd005c06388d4e61e2a815d9
jbd2: Add barrier not supported test to journal_wait_on_commit_record

(cherry picked from commit fd98496f467b3d26d05ab1498f41718b5ef13de5)

Xen doesn't report that barriers are not supported until buffer I/O is
reported as completed, instead of when the buffer I/O is submitted.
Add a check and a fallback codepath to journal_wait_on_commit_record()
to detect this case, so that attempts to mount ext4 filesystems on
LVM/devicemapper devices on Xen guests don't blow up with an "Aborting
journal on device XXX"; "Remounting filesystem read-only" error.

Thanks to Andreas Sundstrom for reporting this issue.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/jbd2/commit.c