Subject: Supporting sector size != DEV_BSIZE
To: None <tech-kern@netbsd.org>
From: Trevin Beattie <trevin@xmission.com>
List: tech-kern
Date: 06/23/2002 18:58:34
--Boundary_(ID_msN7IvLTuv5tcJqAAcouZA)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

Well, it took me a while, but I finally managed to get LFS working with a
2k/sector disk.  Mostly.  I ran into a kernel panic when I attempted to
fill the disk beyond its capacity, but I'm not sure whether that's normal.
(I've never used LFS before this.)

A couple of notes.  I haven't changed the unit conversion macros in lfs.h;
when I first tried it, I found that it broke newfs_lfs, so I undid the
changes.  Later on I found that the changes would also have broken
fsck_lfs.  This is what I was afraid of; who knows what other user-land
apps would break if the macros are changed?

I also discovered that the changes I had made previously to fsbtodb() in
<ufs/ffs/fs.h> had affected fsck_ffs as well, but in a positive way this
time; fsck_ffs uses DEV_BSIZE for its internal block operations just like
the kernel does.

I hadn't tested fsck_ffs before, but I did so today.  Only a couple of
minor tweaks were needed.  So ffs in the kernel, newfs, and fsck_ffs all
seem to be in perfect working order supporting standard and large sector
sizes.

As far as lfs, I haven't tested it quite as extensively, but I did make
sure that newfs_lfs and fsck_lfs were consistent with the kernel.  I'd
appreciate anybody's assistance in further testing these patches.
Reminder: you don't need a physical device with large sectors to test the
patches; a virtual (vnd) disk should work just as well.

Still to do: check whether ext2fs and msdos work with 2k/sector disks, and
fix those if needed.

--Boundary_(ID_msN7IvLTuv5tcJqAAcouZA)
Content-type: application/octet-stream; name=patches.gz; x-mac-type=477A6970;
 x-mac-creator=477A6970
Content-transfer-encoding: base64
Content-disposition: attachment; filename=patches.gz

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

--Boundary_(ID_msN7IvLTuv5tcJqAAcouZA)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT


-----------------------
Trevin Beattie          "Do not meddle in the affairs of wizards,
trevin@xmission.com     for you are crunchy and good with ketchup."
      {:->                                     --unknown

--Boundary_(ID_msN7IvLTuv5tcJqAAcouZA)--