[comp.unix.questions] UFS filesystems on SCSI disks

alanlb@csgrad.cs.vt.edu (06/19/91)

Hi there!  I'm trying to create UFS file systems on a SCSI disk and
have been wondering what to specify for the number of tracks/cylinder.
My mkfs defaults to 9, but the value can go from 1-16.  Logically,
my SCSI disk has 1284 tracks and 1 head (Seagate 1280N).  Should I
specify 1 track/cylinder, or say whatever it takes to avoid getting
unallocated sectors (BTW, I told rdb the disk has 64 sectors/track)?
Thanks!

-alan l. batongbacal
-alanlb@csgrad.cs.vt.edu

mouse@thunder.mcrcim.mcgill.edu (der Mouse) (06/20/91)

In article <1310@creatures.cs.vt.edu>, alanlb@csgrad.cs.vt.edu writes:
> I'm trying to create UFS file systems on a SCSI disk and have been
> wondering what to specify for the number of tracks/cylinder.

The filesystem layout code wants to know two numbers: the number of
sectors per track and the number of tracks per cylinder.  (The number
of cylinders is implicit; it can be calculated from those two numbers
and the total size of the filesystem.)

Sectors per track I assume you can deal with.  Tracks per cylinder is
the number of recording surfaces available, also known as the number of
heads.  (Of course, you want to specify only the number of heads
available for user data storage.  If the drive or controller reserves
one or two surfaces for bad block replacement, you should ignore
it/them.)

> Logically, my SCSI disk has 1284 tracks and 1 head (Seagate 1280N).

Are you sure of that?  I didn't think anyone made single-platter disks
any longer (well, except for removables).  Unfortunately I don't have
any reference in which I could look up Seagate drive numbers, so I
can't check that myself.

> Should I specify 1 track/cylinder,

If you're really certain there's only one head, yes.  But that seems
rather unlikely to me.

> (BTW, I told rdb the disk has 64 sectors/track)?

Again, is this actually true?

Of course, there's another side to this.  Since the filesystem wants
this information to attempt to optimize block placement and such, it is
substantially less important with modern disks, where the disk can
often overrun the bit pipe between the disk and main memory, where
there's a large buffer on the disk or controller card, where the
controller already does read-ahead, etc....  In any case, the only
effects of giving incorrect numbers will be (a) efficiency impairment,
because the filesystem's idea of optimal block placement won't really
be optimal and (b) slight loss/gain of storage space due to changing
filesystem overhead.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

ag@amix.commodore.com (Keith Gabryelski) (06/25/91)

mouse@thunder.mcrcim.mcgill.edu (der Mouse) writes:
> In article <1310@creatures.cs.vt.edu>, alanlb@csgrad.cs.vt.edu writes:
> > I'm trying to create UFS file systems on a SCSI disk and have been
> > wondering what to specify for the number of tracks/cylinder.

I feel I should comment because this person is working with Amiga Unix
(his addressed tipped me off, but the real mark was the mention of
`rdb' the `rigid disk block' command for creating partitions under
Amiga Unix that are compatible with AmigaDOS.

Future inquires about Amiga Unix should be sent to comp.unix.amiga.
Follow ups to this article are sent to same.

> [... lots of text from `der Mouse' deleted, although it was useful in
>      a generic filsystem sense, it needn't be repeated ...]

Since, your message didn't claim you had actually gotten the
filesystem to work and it seemed to have some confusion about rdb
numbers in it I will include a complete description of how to add a
SCSI disk with a UFS partition to your Amiga Unix machine.

To setup a UFS filesystem under Amiga Unix you need to create a
partition table.  Do this with the rdb command:

Find the SCSI ID of the disk.  Do this by looking in the drive manual
and setting the appropriate jumpers on the drive.  Make sure this
number does not interfere with other SCSI devices connected to the
system (Your root disk is probably `6'--maybe `0', Tape drives are
usually `4', and the controller itself is `7'.

Connect the drive to your machine.  Turn your machine on, if it
doesn't boot you've probably done something wrong.  Most likely the
drive ID for the extra drive matches the root drive.  Try again.

login as root.

type the command:

	ddsize /dev/dsk/cXd0s0

(where `X' is the SCSI ID.  The output of this xommand is the size of
the disk in blocks.)


Now, make a partition using rdb:

	rdb -c /dev/dsk/cXd0s0 NAME 128 SIZE

(where `X' is the SCSI ID, NAME is some string, and SIZE is the number
returned from ddsize minus 128 (which is the start block of this
partition)).  To create two partitions, you would do:

	rdb -c /dev/dsk/cXd0s0 NAME1 128 SIZE1 NAME2 START2 SIZE2

NAME1 & NAME2:	are strings used to indentify the partition.
SIZE1:		size of the first partition
START2:		SIZE1 + 128 (start block of second partition)
SIZE2:		size of second parittion (the output of ddsize - 128 - SIZE1)

Now, make a ufs filesystem on the first partition:

	mkfs -F ufs /dev/dsk/cXd0s1 SIZE

(where SIZE is the size of the partition [SIZE in the first example, SIZE1
in the second])

To make a ufs filesystem on the second partition, do:

	mkfs -F ufs /dev/dsk/cXd0s2 SIZE2

You can now mount the partition:

	mount -F ufs /dev/dsk/cXd0s1 /mnt

or place a well-formed entry in /etc/vfstab:

/dev/dsk/cXd0s1 /dev/rdsk/cXd0s1 /mnt	ufs	1	yes	-

Pax, Keith
-- 
Keith Gabryelski                                 Advanced Products Group
ag@amix.commodore.com                                 ...!cbmvax!amix!ag