[ENBD] kernel message "non existant block device"

Peter T. Breuer ptb@it.uc3m.es
Mon, 30 Oct 2000 15:09:37 +0100 (MET)


"A month of sundays ago Wang Gang wrote:"

> I have tried nbd 2.2.29 and 2.4.15 under kernel 2.2.16, but all failed. When I 
> make ext2 fs on a local nbd device, mke2fs run to "Write inode table", and
> then nbd 2.2.29 reported:
> NBD#476[0]: nbd_enqueue(0) would sched sync nda(0) at 31 req.

That's OK. It's an ordinary message. And running against localhost is
inherently dangerous! I'm not sure I'd dare to run a mke2fs across the
"net". Still, I'll do it:

   barney:/usr/oboe/ptb/lang/c/nbd/nbd-2.4.15% sudo /sbin/mke2fs
   /dev/nda
   mke2fs 1.18-e2c036, 13-Dec-1999 for EXT2 FS 0.5b, 95/08/09
   Filesystem label=
   OS type: Linux
   Block size=1024 (log=0)
   Fragment size=1024 (log=0)
   2048 inodes, 8192 blocks
   409 blocks (4.99%) reserved for the super user
   First data block=1
   1 block group
   8192 blocks per group, 8192 fragments per group
   2048 inodes per group
   Writing inode tables: done
   Writing superblocks and filesystem accounting information: done

Phew .... am I still here? Great!

barney:/usr/oboe/ptb/lang/c/nbd/nbd-2.4.15% cat /proc/nbdinfo
Device a:       Open
[a] State:      verify, rw, enabled, throttle, last error 0
[a] Queued:     +0R/0W curr reqs =0R/0W real reqs +1R/41W max reqs
[a] Buffersize: 86016   (sectors=168)
[a] Blocksize:  4096    (log=12)
[a] Size:       8192KB
[a] Blocks:     2048
[a] Sockets:    1       (*)
[a] Requested:  17830   (17830) 39R/17791W
[a] Despatched: 17830   (17830) 39R/17791W
[a] Errored:    0       (0)     0+0
[a] Pending:    0       (0)     0R/0W+0R/0W
[a] Kthreads:   0       (0 waiting/0 running/1 max)
[a] Cthreads:   1       (+)
[a] Cpids:      1       (6578)
Device b-p:     Closed

As you can see, it wrote 1779 blocks and read 39. 

> and then died.

What died? How many daemons are you running? You might want to run 4 or
8 for safety. Wat caused the death - what did they complain of? Timeout?
If so, that's what you asked for .. that the daemons die when they
timeout, instead of waiting to reconnect. Which daemon died? Server or
client?

> Under 2.4.15, mke2fs reported:

Messages from ext2fs are not interesting in themselves!

> Writing inode tables:  done                            
> ext2fs_mkdir: Attempt to read block from filesystem resulted in short read while creating root dir

Fine, so the device is not running or is turned off. Which?

> and kernel repeatly reported:
> ll_rw_block: Trying to read nonexistent block-device

Then there is no device there (that comes from the kernel). The module
is not loaded. That's what it is telling you.

> but system didn't die. Do you know why? Could you tell me your configuration 
> n detail?

My system is perfectly normal: a 300MHz pentium running kernel 2.2.15.
No scsi. 

Please show output from /proc/nbdinfo when reporting a problem. And any
messages from nbd and anything else you can show about the state of the
daemons and driver. If there are no messages from them, then either
they are happy or dead (and the driver can always "talk" via /proc).

Peter