[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#483830: Writing to a filesystem mounted with 'loop' don't work

Package: linux-image-2.6.18-5-486
Version: 2.6.18.dfsg.1-13etch5
Severity: important

When writing into a filesystem mounted using the 'loop' module, the system have unexpected behaviours.

Tested with:
2 different Debian Etch running servers, up to date (one Core2Duo and one AMD 4200+).
Linux Mint 4.0 personnal computer, up to date (AMD 4000+).
Debian Etch i386 fresh install, no updates. Then up to date (AMD 4200+).
Debian Etch AMD64 fresh install, no updates. Then up to date (AMD 4200+).
Debian Lenny i386 frsh install, no updates. Then up to date (AMD 4200+).

Fedora 9 Live: don't have the bug.
Thus the bug seems to be related to Debian only.

How to reproduce the problem:

WARNING: don't do it on a remote computer because the system could completly stop responding.

as root:

# modprobe loop
# cd ~
# mkdir test
# cd test

# dd if=/dev/zero of=virtualdisk bs=1M count=2000
--> 53 Mb/s

# losetup /dev/loop0 virtualdisk

# mkfs.ext2 /dev/loop0
--> one system was frozen here once
# mount /dev/loop0 /mnt

# dd if=/dev/zero of=/mnt/bigfile bs=1M
--> the file start growing then nothing happens
--> this process never ends
--> ctrl+C works after 5 to 15 seconds
--> on some systems the computer stop responding
--> on some systems some bytes are written to the file every 20 to 40 seconds

From another console we can see a strange iowait:

# iostat -m 1

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,50    0,00    0,00   50,00    0,00   49,50

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0,00         0,00         0,00          0          0

The size of /mnt/bigfile is between 50 Mb and 400 Mb. The size seems to always be the same on one computer, but vary from computer to computer. i.e. on computer 'A' the file is between 50 Mb and 55 Mb, on computer 'B' the file is between 300 Mb and 310 Mb.

Even a simple write without mounting anyfilesystem is affected on some systems:
# dd if=/dev/zero of=/dev/loop0 bs=1M
--> 14 Mb/s  (4 times slower than bare metal speed)

Reply to: