So... looking at the standard, the problem may be that
the volume size is in bytes instead of in blocks?
When I xd a plan 9 image (bytes are represented in little and
big endian):
0008000 01434430 30310100 504c414e 20392042
0008010 4f4f5420 49534f39 36363020 20202020
0008020 20202020 20202020 504c414e 2039202d
0008030 204d4159 20372032 30313220 32333a32
0008040 33202020 20202020 00000000 00000000
0008050 00305600 00563000 00000000 00000000
^^^^^^ ^^^^^^^
volume size in bytes (should this be in logical blocks?)
0008060 00000000 00000000 00000000 00000000
0008070 00000000 00000000 01000001 01000001
0008080 00080800 0a000000 0000000a c60a0000
^^^^^ ^^^^
Block size, 2K
0008090 00000000 00000ac7 00000000 2200c20a
00080a0 00000000 0ac20010 00000000 10007005
00080b0 07151737 00020000 01000001 01003956
The size of the iso given by ls is 5656576, 0x00565000
which is close enough to 0x563000 in bytes.
I xd a 90M linux iso I have and got:
0008000 01434430 30310100 4c494e55 58202020
0008010 20202020 20202020 20202020 20202020
0008020 20202020 20202020 4344524f 4d202020
0008030 20202020 20202020 20202020 20202020
0008040 20202020 20202020 00000000 00000000
0008050 fdb30000 0000b3fd 00000000 00000000
^^^^^^^^^^^^^^^^^
90M/2K
0008060 00000000 00000000 00000000 00000000
0008070 00000000 00000000 01000001 01000001
0008080 00080800 0a000000 0000000a 14000000
^^^^^^^^^
2K block size
0008090 00000000 00000016 00000000 22001800
00080a0 00000000 00180008 00000000 08006b05
00080b0 1808100a 20020000 01000001 01002020
So the size should be in Blocks and it is in bytes, this is why it is wrong.
I don't understand why k3b reports double the size because it
is much more. Unless I am not seeing something...
G.