Deadlock in copying from floppy disk to loop device (1.3.88)

Steven L Baur (steve@miranova.com)
15 Apr 1996 00:27:11 -0700


I can repeat this behavior on different machines with different
hardware (SCSI and IDE were tested). It does not matter whether the
loop device and floppy disk device are modules or not.

Create a file and bind it to a loopback device (I was working with a
2MB file).
dd if=/dev/zero of=boot.image bs=1k count=2000
losetup /dev/loop0 boot.image
mke2fs -m 0 -i 1024 /dev/loop0
mount -t ext2 /dev/loop0 /x

Create an ext2 filesystem on a floppy disk, mount it and copy files
into it until it's nearly full.
mke2fs -m 0 -i 1024 /dev/fd0
mount -t ext2 /dev/fd0 /mnt
<< copy any convenient set of files onto it >>

The operation of copying from floppy disk to the loop device causes a
total freeze with either cp -a, or two tars in a pipeline. The X
screen appeared to be still alive, but any operation causing disk
access hung.

The total amount copied before freezing varied from run to run, but at
least 650-700k appeared to be required.

Before the first crash I got some messages I'd never seen before:
Apr 14 21:14:08 deanna kernel: floppy0: Unable to allocate DMA memory
Apr 14 21:14:22 deanna last message repeated 3 times
Apr 14 21:15:25 deanna kernel: floppy0: Unable to allocate DMA memory

These did not appear when I reproduced the crash twice more.

-- 
steve@miranova.com baur
Unsolicited commercial e-mail will be proofread for $250/hour.
Andrea Seastrand: For your vote on the Telecom bill, I will vote for anyone
except you in November.