[ENBD] Stress testing ENBD

Peter T. Breuer enbd@lists.community.tummy.com
Wed, 30 Jan 2002 11:12:19 +0100 (MET)


"A month of sundays ago Christopher Eveland wrote:"
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> At the moment I'm using the "new" 2.4.27pre1.  If I do a "make test" which
> sets up an 8MB set of files on the server, and hook that up to /dev/nda on
> the client, then:
> 
> # mke2fs /dev/nda
> # mount /dev/nda /mnt
> # touch /mnt/foo
> # dd if=/dev/zero of=/mnt/foo bs=1024 count=7000
> # sync
> 
> things seem to work just fine, and I can watch the network traffic spike up
> when I do the sync.  The problem comes when I try to get more ambitious:
> 
> # for ((i=1;i<=10;i++)); do dd if=/dev/zero of=/mnt/foo bs=1024 count=7000;
> sync; done

You are running localhost to localhost, which will deadlock on write.

> will crash the system (well, apparently stop the transfers at any rate)

Yes - it's an i/o deadlock. You can get out of it by erroring a few
requests. I'm surprised it held up as long as it did. You don't have
128MB RAM, perchance?

Peter