Re: enbd on amd 64

"Peter T. Breuer" <[email protected]> Wed, 15 Mar 2006 21:58:32 +0100 (MET)
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
"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