[ENBD] nbd 2.4.27: partition >4GB problem

Tad Kollar enbd@lists.community.tummy.com
Tue, 12 Mar 2002 09:27:45 -0500


Hi,

I just got into ENBD the other day... started with nbd 2.4.27 and kernel 
2.4.18. It worked fine up until I tried to use a partition larger than 4GB. 
Above that point the client would always see the same erroneous size[1] (2TB) 
for the partition, though the server reported[2] sending the correct size 
(~26GB in this case).

I tried kernel 2.4.17 and a few other things with no effect; it wasn't til I 
downgraded to nbd 2.4.26a that the client started seeing the correct 
number[3]. Kernel version 2.4.17 is the only one that I've tried nbd 2.4.26a with.

It looks like maybe a u64 is being passed to an s32 then back to a u64?

Tad

[1] /proc/nbdinfo with nbd-2.4.27:
Device a:       Open
[a] State:      verify, rw, enabled, plug, last error 0, lives 0
[a] Queued:     +0R/0W curr (check 0R/0W) +0R/0W max
[a] Buffersize: 262144  (sectors=512, blocks=256)
[a] Blocksize:  1024    (log=10)
[a] Size:       2147483647KB
[a] Blocks:     2147483647
[a] Sockets:    1       (*)
[a] Requested:  0       (0)     0R/0W   max 0
[a] Despatched: 0       (0)     0R/0W   md5 0W (0 eq, 0 ne, 0 dn)
[a] Errored:    0       (0)     0+0
[a] Pending:    0       (0)     0R/0W+0R/0W
[a] B/s now:    0       (0R+0W)
[a] B/s ave:    0       (0R+0W)
[a] B/s max:    0       (0R+0W)
[a] Kthreads:   0       (0 waiting/0 running/0 max)
[a] Cthreads:   1       (+)
[a] Cpids:      1       (18341)
Device b-p:     Closed

[2] nbd-server output with nbd-2.4.27:
nbd-server  1345: server (-2) locked /var/state/nbd/server-w0GYFF.client_ips
nbd-server  1345: server (-2) unlocked /var/state/nbd/server-w0GYFF.client_ips
nbd-server  1345: server (-2) set new signal handlers for master server 1345
nbd-server  1345: server (-2) opened port 1111 (socket 5) for client 192.168.1.109
nbd-server  1346: server (-1) set default signal handlers for session server 1346
nbd-server  1346: server (-1) read passwd ok
nbd-server  1346: server (-1) got cliserv magic ok
nbd-server  1346: server (-1) received id device 2b00 ok
nbd-server  1346: server (-1) sent size 26605232128 ok
nbd-server  1346: server (-1) sent sig ok
nbd-server  1346: server (-1) suggested ro flags 0 ok
nbd-server  1346: server (-1) received blksize 1024 ok
nbd-server  1346: server (-1) sent/negotiated blksize 1024 ok
nbd-server  1346: server (-1) received pulse_intvl 10 ok
nbd-server  1346: server (-1) sent/negotiated pulse interval 10 ok
nbd-server  1346: server (-1) agreed 1 channels ok
nbd-server  1346: server (-1) selected free port at 1112
nbd-server  1346: server (-1) posted port 1112 ok
nbd-server  1346: server (-1) manager started new process group 1346
nbd-server  1346: server (-1) set new signal handlers for session server 1346
nbd-server  1347: server (0) set default signal handlers for slave server 1347
nbd-server  1347: server (0) opened port 1112 (socket 7) for client 192.168.1.109
nbd-server  1347: server (0) set new signal handlers for slave server 1347

[3] /proc/nbdinfo with nbd-2.4.26a:
Device a:       Open
[a] State:      verify, rw, enabled, plug, last error 0, lives 0
[a] Queued:     +0R/0W curr (check 0R/0W) +0R/0W max
[a] Buffersize: 262144  (sectors=512, blocks=256)
[a] Blocksize:  1024    (log=10)
[a] Size:       25981672KB
[a] Blocks:     25981672
[a] Sockets:    1       (*)
[a] Requested:  0       (0)     0R/0W   max 0
[a] Despatched: 0       (0)     0R/0W   md5 0W (0 eq, 0 ne, 0 dn)
[a] Errored:    0       (0)     0+0
[a] Pending:    0       (0)     0R/0W+0R/0W
[a] B/s now:    0       (0R+0W)
[a] B/s ave:    0       (0R+0W)
[a] B/s max:    0       (0R+0W)
[a] Kthreads:   0       (0 waiting/0 running/0 max)
[a] Cthreads:   1       (+)
[a] Cpids:      1       (17503)
Device b-p:     Closed