* Problem loopmounting CD on 2.6.0 @ 2003-12-19 13:10 Niels Elgaard Larsen 2003-12-19 22:00 ` Randy.Dunlap 0 siblings, 1 reply; 3+ messages in thread From: Niels Elgaard Larsen @ 2003-12-19 13:10 UTC (permalink / raw) To: linux-kernel A similar (probably the same) problem have been reported for cryptoloop. With a ISO9660 CD (actually Knoppix) in drive /dev/hdc, no SCSI emulation: amigos20:/mnt# losetup /dev/loop5 /dev/hdc amigos20:/mnt# mount -r /dev/loop5 /mnt/foo Gives kernel output: === hdc: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdc, sector 64 isofs_fill_super: bread failed, dev=loop5, iso_blknum=16, block=32 === It works in 2.4.20 Also dd if=/dev/hdc of=/tmp/foo losetup /dev/loop5 /tmp/foo mount -r /dev/loop5 /mnt/foo works -- Niels Elgaard Larsen elgaard@agol.dk http://www.agol.dk/elgaard ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem loopmounting CD on 2.6.0 2003-12-19 13:10 Problem loopmounting CD on 2.6.0 Niels Elgaard Larsen @ 2003-12-19 22:00 ` Randy.Dunlap 2003-12-22 14:27 ` OGAWA Hirofumi 0 siblings, 1 reply; 3+ messages in thread From: Randy.Dunlap @ 2003-12-19 22:00 UTC (permalink / raw) To: elgaard; +Cc: linux-kernel On Fri, 19 Dec 2003 14:10:44 +0100 Niels Elgaard Larsen <elgaard@agol.dk> wrote: | A similar (probably the same) problem have been reported for cryptoloop. | With a ISO9660 CD (actually Knoppix) in drive /dev/hdc, no SCSI emulation: | | amigos20:/mnt# losetup /dev/loop5 /dev/hdc | amigos20:/mnt# mount -r /dev/loop5 /mnt/foo | | Gives kernel output: | | === | hdc: cdrom_read_intr: data underrun (2 blocks) | end_request: I/O error, dev hdc, sector 64 | isofs_fill_super: bread failed, dev=loop5, iso_blknum=16, block=32 | === | | It works in 2.4.20 | | Also | | dd if=/dev/hdc of=/tmp/foo | losetup /dev/loop5 /tmp/foo | mount -r /dev/loop5 /mnt/foo | | works I see differing sector size and block size reports by blockdev as follows. Is this OK/expected or does it hint at a problem? (all without ide-scsi:) 2.6.0, non-loopback case: # mount /dev/hdd on /mnt/disk type iso9660 (ro) [root@gargoyle rddunlap]# blockdev --getss /dev/hdd 2048 [root@gargoyle rddunlap]# blockdev --getbsz /dev/hdd 2048 2.6.0, loopback case: I usually see the same error that you reported. I did mount the cdrom successfully one time, with about 50 error messages like below[1], and saw this blocksize difference: Is this OK or indicative of a (the) problem? [root@gargoyle rddunlap]# blockdev --getss /dev/hdd 2048 [root@gargoyle rddunlap]# blockdev --getbsz /dev/hdd 4096 [1] hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 64 hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 68 hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 72 ... hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 388 hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 392 hdd: cdrom_read_intr: data underrun (2 blocks) end_request: I/O error, dev hdd, sector 396 2.4.2x: [root@gargoyle rddunlap]# blockdev --getss /dev/hdd 512 [root@gargoyle rddunlap]# blockdev --getbsz /dev/hdd 2048 -- ~Randy MOTD: Always include version info. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem loopmounting CD on 2.6.0 2003-12-19 22:00 ` Randy.Dunlap @ 2003-12-22 14:27 ` OGAWA Hirofumi 0 siblings, 0 replies; 3+ messages in thread From: OGAWA Hirofumi @ 2003-12-22 14:27 UTC (permalink / raw) To: Randy.Dunlap; +Cc: elgaard, linux-kernel "Randy.Dunlap" <rddunlap@osdl.org> writes: > On Fri, 19 Dec 2003 14:10:44 +0100 Niels Elgaard Larsen <elgaard@agol.dk> wrote: > > | A similar (probably the same) problem have been reported for cryptoloop. > | With a ISO9660 CD (actually Knoppix) in drive /dev/hdc, no SCSI emulation: > | > | amigos20:/mnt# losetup /dev/loop5 /dev/hdc > | amigos20:/mnt# mount -r /dev/loop5 /mnt/foo > | > | Gives kernel output: > | > | === > | hdc: cdrom_read_intr: data underrun (2 blocks) > | end_request: I/O error, dev hdc, sector 64 > | isofs_fill_super: bread failed, dev=loop5, iso_blknum=16, block=32 > | === > | > | It works in 2.4.20 > | > | Also > | > | dd if=/dev/hdc of=/tmp/foo > | losetup /dev/loop5 /tmp/foo > | mount -r /dev/loop5 /mnt/foo > | > | works > > I see differing sector size and block size reports by blockdev > as follows. Is this OK/expected or does it hint at a problem? Probably we need to set the hardsect_size of real device to loop. At least, it seems this problem was fixed. What do you think of the following patch? drivers/block/loop.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/block/loop.c~loop-fix-hardsect_size drivers/block/loop.c --- linux-2.6.0/drivers/block/loop.c~loop-fix-hardsect_size 2003-12-22 22:36:50.000000000 +0900 +++ linux-2.6.0-hirofumi/drivers/block/loop.c 2003-12-22 22:37:19.000000000 +0900 @@ -752,6 +752,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); _ -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-12-22 14:28 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-12-19 13:10 Problem loopmounting CD on 2.6.0 Niels Elgaard Larsen 2003-12-19 22:00 ` Randy.Dunlap 2003-12-22 14:27 ` OGAWA Hirofumi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox