[PATCH] loop.c: respect bio barrier and sync

From: Constantine Sapuntzakis
Date: Thu May 04 2006 - 22:19:40 EST


I believe that the loop block device does not currently respect
barriers or syncs issued by its clients. As a result, I have seen
corrupted log errors when a loopback mounted ext3 file system is
remounted after a hard stop.

The attached patch attempts to fix this problem by respecting the
barrier and sync flags on the I/O request. The sync_file function was
cut-and-paste from the implementation of fsync (I think there's no fd
so I can't call fsync) to allow the patch to be deployed as an updated
module. Is there another function that could be used?

Comments are welcome. I am not on the list so please cc: me on any response.

-Costa

Attachment: loop-barrier-patch.diff
Description: Binary data