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
- Follow-Ups:
- Re: [PATCH] loop.c: respect bio barrier and sync
- From: Jens Axboe <[email protected]>
- Re: [PATCH] loop.c: respect bio barrier and sync
- Prev by Date: Kbuild + Cross compiling
- Next by Date: Re: Linux 2.6.16.14
- Previous by thread: Kbuild + Cross compiling
- Next by thread: Re: [PATCH] loop.c: respect bio barrier and sync
- Index(es):