[ENBD] enbd_ioctl 2.6.9 kernel fails to modprobe enbd - seg fault

scunacc scunacc at yahoo.com
Fri Mar 3 05:01:49 MST 2006


Dear Peter,

> I'd be pleased to try anything else you suggest in the meantime as time
> permits, but I am now going to actually try the thing! :-)

Results from make test - there are some glitches here...

Look for:

enbd-server  4086: #1765 do_srv_ioctl: (ERROR) server returns error
reply (-22) for ioctl type 0x4004ab01

enbd-server  4086: #1765 do_srv_ioctl: (ERROR) server returns error
reply (-22) for ioctl type 0x4004ab01

in the make test o/p

I've also included the dmesg o/p at the end.

-----------------------------------------------------------
make test
/tmp/core0: No such file or directory
/tmp/core1: No such file or directory
4096+0 records in
4096+0 records out
4096+0 records in
4096+0 records out
enbd-server
delay 5senbd-server  4068: server: will open resources in mode linear
file  4068: looking for size of fd 4 with seek SEEK_END...
file  4068: set size of fd 4 to 4194304
file  4068: looking for size of fd 5 with seek SEEK_END...
file  4068: set size of fd 5 to 4194304
enbd-server  4068: size of exported file/device is 8388608B (8192
blocks)
        ├─enbd-server(4068)
nbd/pidfile  4072: # 147 lockpidfile: returning err 0 for lock attempt
enbd-server  4072: server (-2)
locked /var/state/nbd/server-NBDabcdefNBD.client_ips
enbd-server  4072: server (-2)
unlocked /var/state/nbd/server-NBDabcdefNBD.client_ips
enbd-server  4072: server (-2) set new signal handlers
.....
enbd-client
enbd-client  4078: client says target 0 is localhost:3033
enbd-client  4078: client (-1) opened device /dev/nda
enbd-client  4078: client (-1) opened NBD device /dev/nda (2b00)
enbd-client  4078: client (-1) set kernel bdflush sync boundary to 80%
from 15%
enbd-client  4078: client (-1) set kernel bdflush async boundary to 25%
from 1159299060%
enbd-client  4078: client (-1) detaches from shell
nbd/pidfile  4079: # 147 lockpidfile: returning err 0 for lock attempt
enbd-client  4079: client (-1) made
pidfile /var/run/enbd-client-NBDabcdefNBD.pid with pid 4079
enbd-client  4079: client (-1) starts introduction sequence on
localhost:3033
        ├─enbd-client(4079)
enbd-server  4072: server (-2) opened port 3033 (socket 4) for client
127.0.0.1
nbd-shmem  4083: shmem area total size 139264
nbd-shmem  4083: shmem hash area starts at offset 4096
nbd-shmem  4083: shmem hash area size 135168
nbd/hash  4083: hash area total size 135168
nbd/hash  4083: hash buckets 256
nbd/hash  4083: reduce hash area effective size to 134992
nbd/gm  4083: pre-seeding gz heap with unit size 65536
nbd/gm  4083: pre-seeding gz heap with unit size 32768
nbd/gm  4083: pre-seeding gz heap with unit size 16384
nbd/gm  4083: pre-seeding gz heap with unit size 8192
nbd/gm  4083: pre-seeding gz heap with unit size 4096
nbd/gm  4083: pre-seeding gz heap with unit size 2048
nbd/gm  4083: pre-seeding gz heap with unit size 1024
nbd/gm  4083: pre-seeding gz heap with unit size 512
nbd/gm  4083: pre-seeding gz heap with unit size 256
nbd/gm  4083: pre-seeding gz heap with unit size 64
nbd/gm  4083: pre-seeding gz heap with unit size 16
nbd/hash  4083: hash size 4096 header + 130896 data = 134992
nbd/hash  4083: hash entries initial lo/hi limits set at 2198/2443
entries
enbd-server  4083: server (-1) set default signal handlers
enbd-server  4083: server (-1) sent hello ok
enbd-server  4083: server (-1) sent passwd ok
enbd-server  4083: server (-1) got cliserv magic ok
enbd-server  4083: server (-1) received id device 2b00 ok
enbd-server  4083: server (-1) sent size 8388608 ok
enbd-server  4083: server (-1) sent sig [NBDabcdefNBD] ok
enbd-server  4083: server (-1) suggested ro flags 0 ok
enbd-client  4079: client (-1) got size 8388608
enbd-client  4079: client (-1) got signature [NBDabcdefNBD], had []
enbd-server  4083: server (-1) received blksize 1024 ok
enbd-server  4083: server (-1) sent/negotiated blksize 1024 ok
enbd-client  4079: client (-1) negotiated blksize 1024
enbd-server  4083: server (-1) received pulse_intvl 5 ok
enbd-client  4079: client (-1) negotiated pulse_intvl 10
enbd-server  4083: server (-1) sent/negotiated pulse interval 10 ok
enbd-server  4083: server (-1) agreed 4 channels ok
enbd-server  4083: server (-1) selected free port at 3034
enbd-server  4083: server (-1) posted port 3034 ok
enbd-server  4083: server (-1) manager started new process group 4083
enbd-server  4084: server (0) set default signal handlers
enbd-server  4086: server (2) set default signal handlers
enbd-server  4085: server (1) set default signal handlers
enbd-server  4087: server (3) set default signal handlers
enbd-server  4083: server (-1) set new signal handlers
enbd-client  4079: client (-1) got session port 3034 ok
enbd-client  4079: client (-1) introduction sequence ends ok
enbd-client  4079: client (-1) enters setsig
enbd-client  4079: client (-1) set sig uses subdevice 0
enbd-client  4079: client (-1) set sig or passed sigchk OK
enbd-client  4079: client (-1) copied sig OK
enbd-client  4079: client (-1) set device size 8388608
enbd-client  4079: #1695 setdeviceblksize: client (-1) Warning! kernel
says blksz is 4096 != 1024
enbd-client  4079: client (-1) sets session slots to 0-3
enbd-client  4079: client (-1) launched daemon 0 (4090) for
localhost:3034
enbd-client  4090: client (0) opened device /dev/nda
enbd-server  4087:enbd-client  4090: client (0) opened socket (5) to
localhost:3034
enbd-client  4079: client (-1) launched daemon 1 (4091) for
localhost:3034
 server (3) opened port 3034 (socket 9) for client 127.0.0.1
enbd-server  4087: server (3) sent hello ok
enbd-server  4087: server (3) sent passwd ok
enbd-server  4087: server (3) got cliserv magic ok
enbd-client  4090: client (0) read passwd ok from localhost:3034
enbd-client  4091: client (1) opened device /dev/nda
enbd-client  4079: client (-1) launched daemon 2 (4092) for
localhost:3034
enbd-client  4079: client (-1) launched daemon 3 (4093) for
localhost:3034
enbd-server  4087: server (3) sent sig [NBDabcdefNBD] ok
enbd-client  4090: client (0) got cliserv magic ok from localhost:3034
enbd-server  4085: server (1) opened port 3034 (socket 9) for client
127.0.0.1
enbd-client  4091: client (1) opened socket (5) to localhost:3034
enbd-client  4092: client (2) opened device /dev/nda
enbd-client  4093: client (3) opened device /dev/nda
enbd-server  4087: server (3) set new signal handlers
enbd-client  4090: client (0) got a signature ok from localhost:3034
enbd-server  4085: server (1) sent hello ok
enbd-server  4086: server (2) opened port 3034 (socket 9) for client
127.0.0.1
enbd-client  4092: client (2) opened socket (5) to localhost:3034
enbd-server  4084: server (0) opened port 3034 (socket 9) for client
127.0.0.1
enbd-client  4093: client (3) opened socket (5) to localhost:3034
enbd-client  4090: client (0) enters setsig
enbd-client  4090: client (0) set sig uses whole disk, wants slot 1
enbd-client  4091: client (1) read passwd ok from localhost:3034
enbd-server  4086: server (2) sent hello ok
enbd-server  4084: server (0) sent hello ok
enbd-server  4085: server (1) sent passwd ok
enbd-client  4090: client (0) set sig or passed sigchk OK
enbd-client  4090: client (0) sig matched OK
enbd-client  4092: client (2) read passwd ok from localhost:3034
enbd-client  4093: client (3) read passwd ok from localhost:3034
enbd-server  4084: server (0) sent passwd ok
enbd-client  4093: client (3) got cliserv magic ok from localhost:3034
enbd-client  4091: client (1) got cliserv magic ok from localhost:3034
enbd-server  4086: server (2) sent passwd ok
enbd-client  4090: client (0) begins main loop
enbd-server  4084: server (0) got cliserv magic ok
enbd-server  4085: server (1) got cliserv magic ok
enbd-server  4086: server (2) got cliserv magic ok
enbd-client  4092: client (2) got cliserv magic ok from localhost:3034
enbd-server  4084: server (0) sent sig [NBDabcdefNBD] ok
enbd-client  4093: client (3) got a signature ok from localhost:3034
enbd-server  4085: server (1) sent sig [NBDabcdefNBD] ok
enbd-client  4091: client (1) got a signature ok from localhost:3034
enbd-server  4086: server (2) sent sig [NBDabcdefNBD] ok
enbd-client  4092: client (2) got a signature ok from localhost:3034
enbd-server  4084: server (0) set new signal handlers
enbd-client  4093: client (3) enters setsig
enbd-server  4085: server (1) set new signal handlers
enbd-client  4091: client (1) enters setsig
enbd-server  4086: server (2) set new signal handlers
enbd-client  4092: client (2) enters setsig
enbd-client  4093: client (3) set sig uses whole disk, wants slot 4
enbd-client  4091: client (1) set sig uses whole disk, wants slot 2
enbd-client  4092: client (2) set sig uses whole disk, wants slot 3
enbd-client  4093: client (3) set sig or passed sigchk OK
enbd-client  4093: client (3) sig matched OK
enbd-client  4092: client (2) set sig or passed sigchk OK
enbd-client  4091: client (1) set sig or passed sigchk OK
enbd-client  4093: client (3) begins main loop
enbd-client  4092: client (2) sig matched OK
enbd-client  4091: client (1) sig matched OK
enbd-client  4091: client (1) begins main loop
enbd-client  4092: client (2) begins main loop
/dev/nda has 1048576 bytes in 1024 blocks of 1024 bytes each
flushing buffers..done
writing....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 1 success:  0 incorrect blocks
flushing buffers..
done
enbd-client  4079: client (-1) opened device /dev/nda
flushing buffers..done
reading....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 2 success:  0 incorrect blocks
flushing buffers..done
flushing buffers..done
writing....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 3 success:  0 incorrect blocks
flushing buffers..done
flushing buffers..done
reading....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
test 4 success:  0 incorrect blocks
flushing buffers..done
flushing buffers..done
seeking and
writing....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....done
flushing buffers..nbd/hash  4084: hash saturation reached at 2337
entries
nbd/hash  4084: hash hiwater set at 2337/2337
nbd/hash  4084: hash lowater set at 2104/2337
done
reading and
checking....5%....10%....15%....20%....25%....30%....35%....40%....45%....50%....55%....60%....65%....70%....75%....80%....85%....90%....95%....
(1000KB written in 0.048705s, 20.050559 MB/s, 41063.545837 seeks/s)
(1000KB read in 0.011381s, 85.806388 MB/s)done
test 5 success:  0 incorrect blocks
flushing buffers..done
enbd-server  4086: #1765 do_srv_ioctl: (ERROR) server returns error
reply (-22) for ioctl type 0x4004ab01
ioctl 1 (write direct) testing write illegal ..OK (fail Invalid argument
with result -1)
ioctl 1 (write direct) testing write 0x7ff192bc ..OK (success with
result 0)
ioctl 2 (read indirect) testing read 0x7ff192bc ..OK (success with
result 0)
enbd-server  4087: #1765 do_srv_ioctl: (ERROR) server returns error
reply (-22) for ioctl type 0xc004ab12
ioctl 3 (write + read indirect) testing illegal ..OK (fail Invalid
argument with result -1)
ioctl 3 (write + read indirect) testing w/r 0x62174006 ..OK (wrote
0x62174006 read 0x9de8bff9 expected 0x9de8bff9)
ioctl 4 (large read indirect) testing ..OK (success with result 0)
ioctl 5 (large write + read indirect) testing ..OK (success with result
0)
done



---------------------------------------------------

Corresponding dmesg o/p
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?
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
ENBD #3931[0]: fixup_slot failed to find slot for pid 4079 ioctl
MY_NBD_SET_SIG arg (user 6144424e) in user addr bfffc018
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 #2820[1]: enbd_set_sock increased socket count on nda to 4
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 #3487[0]: ioctl_make_request took too long to get a spare ioctl
req: TIMEOUT
ENBD #3685[1]: do_enbd_remote_ioctl could not make a remote ioctl
(0x4004ab2a) request
ENBD #3487[1]: ioctl_make_request took too long to get a spare ioctl
req: TIMEOUT
ENBD #3685[2]: do_enbd_remote_ioctl could not make a remote ioctl
(0x4004ab2a) request
ENBD #4665[0]: enbd_media_changed REMOTE CHECK remote is down!
ENBD #4744[0]: enbd_revalidate REVALIDATE called on nda
ENBD #4776[0]: enbd_revalidate set VALID on nda
ENBD #4744[1]: enbd_revalidate REVALIDATE called on nda
 nda: unknown partition table
ENBD #4014[0]: enbd_ioctl TEST IOCTL1 called on device nda arg 800e6d44
ENBD #1496[0]: enbd_ack error (22) reply rcvd, err #0, to req f66e24ac
ENBD #1501[0]: enbd_ack remote error on request (result 0).
ENBD #1091[0]: enbd_error error out req f66e24ac from slot 2!
ENBD #1097[0]: enbd_error erroring and putting ioctl req f66e24ac
ENBD #3766[1]: do_enbd_remote_ioctl errored (-22) remote ioctl
(0x4004ab01) f66e24ac
ENBD #4014[1]: enbd_ioctl TEST IOCTL1 called on device nda arg 7ff192bc
ENBD #4018[0]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[1]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[2]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[3]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[4]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[5]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4018[6]: enbd_ioctl TEST IOCTL2 called on device nda arg bfffdba0
ENBD #4022[0]: enbd_ioctl TEST IOCTL3 called on device nda arg bfffdba0
ENBD #1496[1]: enbd_ack error (22) reply rcvd, err #0, to req f66e290c
ENBD #1501[1]: enbd_ack remote error on request (result 0).
ENBD #1091[1]: enbd_error error out req f66e290c from slot 0!
ENBD #1097[1]: enbd_error erroring and putting ioctl req f66e290c
ENBD #3766[2]: do_enbd_remote_ioctl errored (-22) remote ioctl
(0xc004ab12) f66e290c
ENBD #4022[1]: enbd_ioctl TEST IOCTL3 called on device nda arg bfffdba0
ENBD #4026[0]: enbd_ioctl TEST IOCTL4 called on device nda arg bfffd9cc
ENBD #4030[0]: enbd_ioctl TEST IOCTL5 called on device nda arg bfffd9cc

Kind regards

Derek.





More information about the ENBD mailing list