[ENBD] enbd on amd 64

Peter T. Breuer ptb at inv.it.uc3m.es
Wed Mar 15 13:58:32 MST 2006


"Also sprach Peter T. Breuer:"
>    gcc version 3.3.5 (Debian 1:3.3.5-13)
> 
> When I used -O2 I got a weird segfault on return from a subroutine, and
> other weirdnesses that vanished whenever I looked closer (the old "turn
> on debugging options and the problem goes away"). No, not
> initialization...  I suspect the problem is associated with the

Seems that BLKBSZGET and BLKBSZSET do not work on amd64 (2.6.15.5) ...

ioctl(4, BLKBSZGET, 0x5220b0)           = -1 EINVAL (Invalid argument)
enbd-client 28137: #1651 getdeviceblksize: BLKBSZGET ioctl arg 0x5220b0 to kernel failed

but

enbd-client 28137: #1665 getdeviceblksize: ENBD_GET_BLKSIZE ioctl arg 0x5220b0 to kernel succeeded

so the address passed as argument is intrinsically OK.

That was an address of a static. Let's try a stack address (and set block
size this time):

ioctl(4, BLKBSZSET, 0x7fffffe9b4e4)     = -1 EINVAL (Invalid argument)

Hmmm.

enbd-client 28137: #1736 setdeviceblksize: set blksize (4096) OK to kernel with ENBD_SET_BLKSIZE arg 0x7fffffe9b4e4

Nothing wrong with that address supplied as argument either.

Wot on urth?

Peter


More information about the ENBD mailing list