hi,

this message may be a little too long, the most intriguing part is the
difference between sizes reported by the kernel (in dmesg) and bioctl.
any idea, why bioctl reports size 1 TB smaller?

i've got HP proliant dl140 with "Hewlett-Packard Smart Array" card in it.
put a couple of 1.5 TB disks put to RAID0 for testing.
i think i saw it reporting logical drive 2.9 TB or something, which
was expected.

the kernel (29 dec i386 snapshot) reports:

ciss0 at pci7 dev 8 function 0 "Hewlett-Packard Smart Array" rev 0x00:
apic 8 int 16 (irq 7)
ciss0: 1 LD, HW rev 0, FW 1.66/1.66
scsibus0 at ciss0: 1 targets
sd0 at scsibus0 targ 0 lun 0: <HP, LOGICAL VOLUME, 1.66> SCSI3 0/direct fixed
sd0: 2861534MB, 512 bytes/sec, 5860422960 sec total

5'860'422'960 sectors sounds very like it.

bioctl says:

# bioctl ciss0
Volume  Status               Size Device
ciss0 0 Online      2199023255040 sd0     RAID0
      0 Online      1500301910016 0:0.0   noencl <ATA     ST31500341AS    >
      1 Online      1500301910016 0:1.0   noencl <ATA     ST31500341AS    >
#

well, while sizes of physical disks are reported correctly, size of
sd0 is smaller: about 2 TB.

fdisk says:

# fdisk sd0
Disk: sd0       geometry: 718189/255/32 [1565455664 Sectors]
Offset: 0       Signature: 0xAA55
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
 0: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
*3: A6      0   1  32 - 191844  39  26 [          63:  1565448251 ] OpenBSD
#

so it is about 750 GB here. i wouldn't care about fdisk that much. let
alone LBA48 and possibly other stuff, apparently the MBR still uses 32
bit fields to hold the start sector and the size
(http://en.wikipedia.org/wiki/Master_boot_record). And the number the
fdisk gives looks very like "5860422960 - 2^32". so perhaps the size
the fdisk gives is an overflown value (it could be better equal to
3^32-1, closer to reality).

disklable seems to have the right number, however for OpenBSD area
boudaries it still believes to what fdisk says:

# disklabel sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: LOGICAL VOLUME
flags:
bytes/sector: 512
sectors/track: 255
tracks/cylinder: 511
sectors/cylinder: 130305
cylinders: 44974
total sectors: 5860422960
rpm: 3600
interleave: 1
boundstart: 63
boundend: 1565448314
drivedata: 0

16 partitions:
#                size           offset  fstype [fsize bsize  cpg]
  a:           651525         12639585  4.2BSD   2048 16384    1 # /
  b:         12639522               63    swap
  c:       5860422960                0  unused
  d:          2215185         13291110  4.2BSD   2048 16384    1 # /usr
  e:          2215185         15506295  4.2BSD   2048 16384    1 # /var
#

luckily enough, it allows us to say we want to use the whole disk ("*"
for size rocks!), and there i have it:

  f:       5842701480         17721480  4.2BSD   8192 65536    1

newfs needs to be instructed to use Enhanced Fast File System (FFS2),
otherwise it gives somewhat funny message:

# newfs /dev/rsd0f
newfs: preposterous size 5842701480, max is 2147483647
#

it could just say "the size is bigger than 2147483647, switching to
FFS2" and go further. a little chage to parameters (freed 0.2 TB for
me) and there it is shining brightly:

# df -h /mnt
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0f      2.7T    8.0K    2.7T     0%    /mnt
#

this the first time i mounted somthing bigger than 300 GB, so it is
"wow" for me :-)
thanks for your time!

Reply via email to