[ENBD] diskless enbd-client/enbd on initrd

Rudolph Bott rb at megabit.net
Mon Apr 10 02:13:50 MDT 2006


Hello Peter,

Ok, this is what dmesg' spitted out after a successful boot (with the 
previously described setup):

ENBD #5427[0]: enbd_init Network Block Device originally by 
pavel at elf.mj.gts.cz
ENBD #5428[0]: enbd_init Network Block Device port to 2.0 by ptb at it.uc3m.es
ENBD #5430[0]: enbd_init Network Block Device move networking to user 
space by amarin at it.uc3m.es
ENBD #5432[0]: enbd_init Enhanced Network Block Device 2.4.30 $Date: 
2002/09/17 16:33:22 $ by ptb at it.uc3m.es
ENBD #5472[0]: enbd_init registered device at major 43
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
ENBD #3931[0]: fixup_slot failed to find slot for pid 593 ioctl 
MY_NBD_SET_SIG arg (user 6f6e6578) in user addr bfbdb070
ENBD #2820[0]: enbd_set_sock increased socket count on nda to 1
ENBD #2824[0]: enbd_set_sock upping openers count on nda
ENBD #2610[0]: enbd_enable_and_notify set ENABLED on nda
ENBD #2575[0]: enbd_notify_hot_add_thread_fn running thread MD notify 
HOT_ADD fn for nda
ENBD #875[0]: enbd_open DISK CHECK wanted in open on device nda
ENBD #4640[0]: enbd_media_changed MEDIA CHANGED called
ENBD #4696[0]: enbd_media_changed REMOTE CHECK still has REMOTE VALID on nda
ENBD #875[1]: enbd_open DISK CHECK wanted in open on device nda
ENBD #4640[1]: enbd_media_changed MEDIA CHANGED called
ENBD #4696[1]: enbd_media_changed REMOTE CHECK still has REMOTE VALID on nda
ENBD #875[2]: enbd_open DISK CHECK wanted in open on device nda
ENBD #4640[2]: enbd_media_changed MEDIA CHANGED called
ENBD #4696[2]: enbd_media_changed REMOTE CHECK still has REMOTE VALID on nda
ENBD #2820[1]: enbd_set_sock increased socket count on nda to 2
ENBD #875[3]: enbd_open DISK CHECK wanted in open on device nda
ENBD #4640[3]: enbd_media_changed MEDIA CHANGED called
ENBD #4696[3]: enbd_media_changed REMOTE CHECK still has REMOTE VALID on nda
ENBD #875[4]: enbd_open DISK CHECK wanted in open on device nda
ENBD #4640[4]: enbd_media_changed MEDIA CHANGED called
ENBD #4696[4]: enbd_media_changed REMOTE CHECK still has REMOTE VALID on nda
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: nda: orphan cleanup on readonly fs
ext3_orphan_cleanup: deleting unreferenced inode 1736708
ext3_orphan_cleanup: deleting unreferenced inode 1736707
ext3_orphan_cleanup: deleting unreferenced inode 1736706
EXT3-fs: nda: 3 orphan inodes deleted
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
EXT3 FS on nda, internal journal


Now I switched over to the binaries you provided on the ftp-site and I'm 
stuck way before (at least with unchanged cmd line): the client is not 
able to negotiate a connection and dies. The signature is set to 'xenoo' 
with -i on both sides, so I don't see any error here. Both enbd-related 
modules are loaded. And where am I suppose to add that 'return 0;'-line?
It appears quite often:

nbd-2.4.33/kernel/linux/drivers/block/enbd.c:my_nbd_set_sig (struct 
enbd_slot *slot, char *sig)
nbd-2.4.33/kernel/linux-2.2.x/drivers/block/enbd.c:my_nbd_set_sig 
(struct enbd_slot *slot, char *sig)
nbd-2.4.33/kernel/linux-2.4.x/drivers/block/enbd.c:my_nbd_set_sig 
(struct enbd_slot *slot, char *sig)
nbd-2.4.33/kernel/linux-2.6.x/drivers/block/enbd/enbd_base.c.new:my_nbd_set_sig 
(struct enbd_slot *slot, int *sig)
nbd-2.4.33/kernel/linux-2.6.x/drivers/block/enbd/enbd_base.c:my_nbd_set_sig 
(struct enbd_slot *slot, int *sig)
nbd-2.4.33/kernel/linux-2.6.x/drivers/block/enbd/enbd_base.c.oboe:my_nbd_set_sig 
(struct enbd_slot *slot, int *sig)

I tried to change the function declared in 
kernel/linux-2.6.x/drivers/block/enbd/enbd_base.c, but that didn't 
change anything (as you can see below):



This is what happens now on the client side:

Loading enbd module...
ENBD #5427[0]: enbd_init Network Block Device originally by 
pavel at elf.mj.gts.cz
ENBD #5428[0]: enbd_init Network Block Device port to 2.0 by ptb at it.uc3m.es
ENBD #5430[0]: enbd_init Network Block Device move networking to user 
space by amarin at it.uc3m.es
ENBD #5432[0]: enbd_init Enhanced Network Block Device 2.4.30 $Date: 
2002/09/17 16:33:22 $ by ptb at it.uc3m.es
ENBD #5472[0]: enbd_init registered device at major 43
Sleeping 5 seconds...
Starting enbd-client...
enbd-client   592: client says target 0 is 172.16.20.1:1111
enbd-client   592: client (-1) opened device /dev/nda
enbd-client   592: client (-1) opened NBD device /dev/nda (2b00)
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
enbd-client   592: client (-1) left kernel bdflush sync boundary at 
134873952%
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
enbd-client   592: client (-1) set kernel bdflush async boundary to 25% 
from 134921120%
enbd-client   592: client (-1) detaches from shell
nbd/pidfile   593: # 148 lockpidfile: returning err -30 for lock attempt
enbd-client   593: #4705 main: Warning - couldn't make a new pidfile 
/var/run/enbd-client-xenoo.pid!
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
enbd-client   593: client (-1) starts introduction sequence on 
172.16.20.1:1111
Sleeping 20 seconds...
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
enbd-client   593: client (-1) got size 21474836480
enbd-client   593: client (-1) got signature [xenoo], had []
enbd-client   593: client (-1) negotiated blksize 512
enbd-client   593: client (-1) negotiated pulse_intvl 10
enbd-client   593: client (-1) got session port 1113 ok
enbd-client   593: client (-1) introduction sequence ends ok
ENBD #3931[0]: fixup_slot failed to find slot for pid 593 ioctl 
MY_NBD_SET_SIG arg (user 6f6e6578) in user addr bfb1aa1c
enbd-client   593: client (-1) set sig or passed sigchk OK
ENBD #4424[0]: enbd_ioctl unauthorized ioctl 0xc008ab30
enbd-client   593: #2087 setdevicesize: client (-1) failed to set size 
21474836480
enbd-client   593: #2498 setkernelnbd: Failed set size 21474836480 on fd 
3: No such file or directory
enbd-client   593: client (-1) sets session slots to 0-1
enbd-client   593: #3403 introduction: Failed/5: No such file or directory
enbd-client   593: #3428 introduction: client (-1) introduction bails 
out on 172.16.20.1:1111
enbd-client   593: client (-1) waits 5s after 7s before retry 1
enbd-client   593: client (-1) starts introduction sequence on 
172.16.20.1:1111
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
nbd/time   593: # 187 uptime: bad /proc/uptime format (fd -1)
enbd-client   593: client (-1) got size 21474836480
enbd-client   593: client (-1) got signature [xenoo], had [xenoo]
enbd-client   593: client (-1) negotiated blksize 512
enbd-client   593: client (-1) negotiated pulse_intvl 10
enbd-client   593: client (-1) got session port 1112 ok
enbd-client   593: client (-1) introduction sequence ends ok
ENBD #3931[1]: fixup_slot failed to find slot for pid 593 ioctl 
MY_NBD_SET_SIG arg (user 6f6e6578) in user addr bfb1aa1c
enbd-client   593: client (-1) set sig or passed sigchk OK
ENBD #4424[1]: enbd_ioctl unauthorized ioctl 0xc008ab30
enbd-client   593: #2087 setdevicesize: client (-1) failed to set size 
21474836480
enbd-client   593: #2498 setkernelnbd: Failed set size 21474836480 on fd 
3: No such file or directory
enbd-client   593: client (-1) sets session slots to 0-1
enbd-client   593: #3403 introduction: Failed/5: No such file or directory
enbd-client   593: #3428 introduction: client (-1) introduction bails 
out on 172.16.20.1:1111
enbd-client   593: client (-1) waits 5s after 19s before retry 2
ENBD #2469[1]: do_enbd_request device not enabled.
EXT3-fs: unable to read superblock
mount: Invalid argument
pivot_root: Device or resource busy
Failed to start init :(
Kernel panic - not syncing: Attempted to kill init!



This is what happens on the server side:

enbd-server 18365: server (-2) opened port 1111 (socket 4) for client 
172.16.20.3
nbd-shmem 19908: shmem area total size 139264
nbd-shmem 19908: shmem hash area starts at offset 4096
nbd-shmem 19908: shmem hash area size 135168
nbd/hash 19908: hash area total size 135168
nbd/hash 19908: hash buckets 256
nbd/hash 19908: reduce hash area effective size to 134992
nbd/gm 19908: pre-seeding gz heap with unit size 65536
nbd/gm 19908: pre-seeding gz heap with unit size 32768
nbd/gm 19908: pre-seeding gz heap with unit size 16384
nbd/gm 19908: pre-seeding gz heap with unit size 8192
nbd/gm 19908: pre-seeding gz heap with unit size 4096
nbd/gm 19908: pre-seeding gz heap with unit size 2048
nbd/gm 19908: pre-seeding gz heap with unit size 1024
nbd/gm 19908: pre-seeding gz heap with unit size 512
nbd/gm 19908: pre-seeding gz heap with unit size 256
nbd/gm 19908: pre-seeding gz heap with unit size 64
nbd/gm 19908: pre-seeding gz heap with unit size 16
nbd/hash 19908: hash size 4096 header + 130896 data = 134992
nbd/hash 19908: hash entries initial lo/hi limits set at 2198/2443 entries
enbd-server 19908: server (-1) set default signal handlers
enbd-server 19908: server (-1) sent hello ok
enbd-server 19908: server (-1) sent passwd ok
enbd-server 19908: server (-1) got cliserv magic ok
enbd-server 19908: server (-1) received id device 2b00 ok
enbd-server 19908: server (-1) sent size 21474836480 ok
enbd-server 19908: server (-1) sent sig [xenoo] ok
enbd-server 19908: server (-1) suggested ro flags 0 ok
enbd-server 19908: server (-1) received blksize 512 ok
enbd-server 19908: server (-1) sent/negotiated blksize 512 ok
enbd-server 19908: server (-1) received pulse_intvl 10 ok
enbd-server 19908: server (-1) sent/negotiated pulse interval 10 ok
enbd-server 19908: server (-1) agreed 2 channels ok
enbd-server 19908: server (-1) selected free port at 1113
enbd-server 19908: server (-1) posted port 1113 ok
enbd-server 19908: #3956 kill_previous_sessions: (ERROR) killing live 
session manager pid 19905 on addr ac101403
enbd-server 19905: server (-1) propagated signal 15 to live process 19906
enbd-server 19905: server (-1) propagated signal 15 to live process 19907
enbd-server 19905: server (-1) session sighandler propagates signal 15
enbd-server 19905: server (-1) propagated signal 9 to live process 19906
enbd-server 19905: server (-1) propagated signal 9 to live process 19907
enbd-server 19905: server (-1) session sighandler terminates manager safely
enbd-server 18365: server (-2) sighandler acks SIGCHLD
checking 172.16.20.3
enbd-server 19908: server (-1) manager started new process group 19908
enbd-server 19909: server (0) set default signal handlers
enbd-server 19910: server (1) set default signal handlers
enbd-server 19908: server (-1) set new signal handlers
enbd-server 18365: server (-2) opened port 1111 (socket 4) for client 
172.16.20.3
nbd-shmem 19911: shmem area total size 139264
nbd-shmem 19911: shmem hash area starts at offset 4096
nbd-shmem 19911: shmem hash area size 135168
nbd/hash 19911: hash area total size 135168
nbd/hash 19911: hash buckets 256
nbd/hash 19911: reduce hash area effective size to 134992
nbd/gm 19911: pre-seeding gz heap with unit size 65536
nbd/gm 19911: pre-seeding gz heap with unit size 32768
nbd/gm 19911: pre-seeding gz heap with unit size 16384
nbd/gm 19911: pre-seeding gz heap with unit size 8192
nbd/gm 19911: pre-seeding gz heap with unit size 4096
nbd/gm 19911: pre-seeding gz heap with unit size 2048
nbd/gm 19911: pre-seeding gz heap with unit size 1024
nbd/gm 19911: pre-seeding gz heap with unit size 512
nbd/gm 19911: pre-seeding gz heap with unit size 256
nbd/gm 19911: pre-seeding gz heap with unit size 64
nbd/gm 19911: pre-seeding gz heap with unit size 16
nbd/hash 19911: hash size 4096 header + 130896 data = 134992
nbd/hash 19911: hash entries initial lo/hi limits set at 2198/2443 entries
enbd-server 19911: server (-1) set default signal handlers
enbd-server 19911: server (-1) sent hello ok
enbd-server 19911: server (-1) sent passwd ok
enbd-server 19911: server (-1) got cliserv magic ok
enbd-server 19911: server (-1) received id device 2b00 ok
enbd-server 19911: server (-1) sent size 21474836480 ok
enbd-server 19911: server (-1) sent sig [xenoo] ok
enbd-server 19911: server (-1) suggested ro flags 0 ok
enbd-server 19911: server (-1) received blksize 512 ok
enbd-server 19911: server (-1) sent/negotiated blksize 512 ok
enbd-server 19911: server (-1) received pulse_intvl 10 ok
enbd-server 19911: server (-1) sent/negotiated pulse interval 10 ok
enbd-server 19911: server (-1) agreed 2 channels ok
enbd-server 19911: server (-1) selected free port at 1112
enbd-server 19911: server (-1) posted port 1112 ok
enbd-server 19911: #3956 kill_previous_sessions: (ERROR) killing live 
session manager pid 19908 on addr ac101403
enbd-server 19908: server (-1) propagated signal 15 to live process 19909
enbd-server 19908: server (-1) propagated signal 15 to live process 19910
enbd-server 19908: server (-1) session sighandler propagates signal 15
enbd-server 19908: server (-1) propagated signal 9 to live process 19909
enbd-server 19908: server (-1) propagated signal 9 to live process 19910
enbd-server 19908: server (-1) session sighandler terminates manager safely
enbd-server 18365: server (-2) sighandler acks SIGCHLD



-- 
Mit freundlichen Gruessen / with kind regards
  Rudolph Bott

-------------------------------------------------------------------
Megabit Informationstechnik GmbH  Karstr.25  41068 Moenchengladbach
Tel: 02161/308980   mailto:info at megabit.net       ftp://megabit.net
Fax: 02161/3089818  mailto:support at megabit.net   http://megabit.net
-------------------------------------------------------------------


More information about the ENBD mailing list