Subject: msdosfs clustersize problem
To: None <port-i386@NetBSD.ORG>
From: Jeff Grills <jefftep@cs.utexas.edu>
List: port-i386
Date: 01/01/1996 20:48:34
I'm running netbsd-i386 1.0.  I'm hoping to upgrade to 1.1 really soon now,
but I really would like to get this problem fixed so I can tar my 1.0
file systems to my large msdosfs for backup.

My machine has 2 ide drives (200mb and 500mb, respectively).  My first IDE
drive is partitioned half netbsd, and half win95.  my second IDE drive is all
netbsd.  I can mount the msdosfs on my first IDE drive under netbsd just
fine, with no problems at all.

I also have an adaptec 1740 with a cdrom and a scsi 1.5gig drive (unfortunately
doing geometry translation) that is all win95.  (I know, I know, you want
to recommend that I put netbsd on my scsi drive, but I will need all that
room for my paying job, which is win95 based)...

I can't get the msdosfs on the scsi drive to work.

When I mount the msdosfs, I  get the following warning, which
I enhanced to have a little more useful information:

  root directory is not a multiple of the clustersize in length
  pmp->pm_rootdirsize == 32
  pmp->pm_SetPerClust == 64

When I change into the msdosfs and do an ls, I get a panic:

  panic: allocbuf: buffer larger than MAXBSIZE requested

When netbsd boots, it senses the scsi drive as:

  sd0 at scsibus0: 1612MB, 2240 cyl, 15 head, 98 sec, 512 bytes/sec

I have in my disklabel for this drive the translated geometry:

  bytes/sector: 512
  sectors/track: 63
  tracks/cylinder: 255
  sectors/cylinder: 16065
  cylinders: 205
  5 partitions:
  #        size   offset    fstype   [fsize bsize   cpg]
    d:  3293325        0    unused        0     0         # (Cyl.    0 - 204)
    e:  3293262       63    MS-DOS                        # (Cyl.    0*- 204*)

fdisk /dev/sd0d shows:

  parameters extracted from in-core disklabel are:
  cylinders=205 heads=255 sectors/track=63 (16065 blks/cyl)
  parameters to be used for BIOS calculations are:
  cylinders=205 heads=255 sectors/track=63 (16065 blks/cyl)
  Warning: BIOS sector numbering starts with sector 1
  Information from DOS bootblock is:
  The data for partition 0 is:
  sysid 6,(Primary 'big' DOS (> 32MB))
      start 63, size 3293262 (1608 Meg), flag 0
          beg: cyl 0/ sector 1/ head 1;
          end: cyl 204/ sector 63/ head 254

Any help?  Any suggestions?  Is this fixed in 1.1?  If it is, can I easily
port it back to 1.0 or am I going to have to just upgrade the hard way
to make this all work?

jeff grills
jefftep@cs.utexas.edu