From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

We need to set the hardsect_size of the loop device to that of the real
device.



 25-akpm/drivers/block/loop.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN drivers/block/loop.c~loop-fix-hardsect drivers/block/loop.c
--- 25/drivers/block/loop.c~loop-fix-hardsect	Mon Dec 22 14:08:16 2003
+++ 25-akpm/drivers/block/loop.c	Mon Dec 22 14:08:16 2003
@@ -753,6 +753,7 @@ static int loop_set_fd(struct loop_devic
 		blk_queue_max_sectors(lo->lo_queue, q->max_sectors);
 		blk_queue_max_phys_segments(lo->lo_queue,q->max_phys_segments);
 		blk_queue_max_hw_segments(lo->lo_queue, q->max_hw_segments);
+		blk_queue_hardsect_size(lo->lo_queue, queue_hardsect_size(q));
 		blk_queue_max_segment_size(lo->lo_queue, q->max_segment_size);
 		blk_queue_segment_boundary(lo->lo_queue, q->seg_boundary_mask);
 		blk_queue_merge_bvec(lo->lo_queue, q->merge_bvec_fn);

_