Honour barrier requests in the loop back block device driver.
In case of barrier bios, flush the backing file once before processing the
barrier and once after to guarantee ordering. In case of filesystems that
does not support fsync, barrier bios would be failed with -EOPNOTSUPP.
So you're fsyncing the loop file 2x for each barrier, and those fsyncs in turn cause cache flushes on your underlying device; once upon a time lvm didn't do anything there, but now it does ... I think you're just getting bitten by the new and improved barrier support at every level.
Looks barrier related, if you change the mount -o loop to mount -o loop,nobarrier, it's speedy.
commit 68db1961bbf4e16 c220ccec4a780e9 66bc1fece3
Author: Nikanth Karthikesan <email address hidden>
Date: Tue Mar 24 12:29:54 2009 +0100
loop: support barrier writes
Honour barrier requests in the loop back block device driver.
In case of barrier bios, flush the backing file once before processing the
barrier and once after to guarantee ordering. In case of filesystems that
does not support fsync, barrier bios would be failed with -EOPNOTSUPP.
Signed-off-by: Nikanth Karthikesan <email address hidden>
Signed-off-by: Jens Axboe <email address hidden>
So you're fsyncing the loop file 2x for each barrier, and those fsyncs in turn cause cache flushes on your underlying device; once upon a time lvm didn't do anything there, but now it does ... I think you're just getting bitten by the new and improved barrier support at every level.
-Eric