Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Apr 2000 23:58:09 +0200
From:      Frank Wegmann <wegmann@acm.org>
To:        bde@zeta.org.au
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: Can't use 4GB 1024b/sec SCSI disk
Message-ID:  <38E913F1.87479CF@acm.org>

next in thread | raw e-mail | index | archive | help
> This seems to be a bug in sysinstall.  More precisely, in libdisk.  libdisk
> uses lots of hard-coded 512's.  It doesn't even use DEV_BSIZE.  It only
> uses d_secsize in the label in order to initialize it to 512.

Hopefully someone is going to fix this.  Frankly I can't believe that I'm the
first stumbling over this problem.

> > # dd if=/dev/zero of=/dev/rda2 bs=1k count=1
> > 1+0 records in
> > 1+0 records out
> > 1024 bytes transferred in 0.004346 secs (235618 bytes/sec)
> 
> The label is in the second sector, so you need a count of 2 to overwrite it.

Did that:

# dd if=/dev/zero of=/dev/rda2 bs=1k count=1
2+0 records in
2+0 records out
2048 bytes transferred in 0.006840 secs (299416 bytes/sec)

> This means that the number of sectors specified in the label (either
> sectors/unit or the offset of the end of a partition) is too large
> for the disk.  The number must be given in sector-sized units, not in
> DEV_BSIZE units.  "disklabel -auto" is guaranteed to get this wrong
> unless the device described by da2 (i.e., /dev/da2c) has the same size 
> as the whole disk, since it produces a label suitable for applying to
> the whole disk.  However, it should get the units right.
> 
> > # disklabel /dev/rda2 | disklabel -BrR da2 /dev/stdin
> 
> This (when uncommented) gives the same result as "auto".  The output of
> "disklabel /dev/rda2" must be edited if the device being labeled
> (/dev/rda2c) is smaller than /dev/rda2.

Hmm here I'm getting lost, sorry. Here is the output of disklabel:

tanqueray<35># disklabel /dev/rda2
# /dev/rda2:
type: SCSI
disk: SEAGATE
label: ST34371N
flags:
bytes/sector: 1024
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 2170
sectors/unit: 4445468
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0		# milliseconds
track-to-track-seek: 0	# milliseconds
drivedata: 0

8 partitions:
#	size	offset	  fstype   [fsize bsize bps/cpg]
 c:  4445468	     0	  unused	0     0         # <Cyl.    0 - 2170#)

tanqueray<36># disklabel /dev/rda2c
disklabel: ioctl DIOCGDINFO: Invalid argument

One of the things I don't quite understand here is what information must be
used for disklabel: data of the physical driver or of the transliterated one.
I'm still puzzled and my disk still doesn't want to cooperate...

Frank


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38E913F1.87479CF>