Well this has been a good evening 8^)
I have the floppy driver cleaned up. It seems to be doing read and
write properly. I have it set up to hack together a disk label so
I can now do newfs on it. This creates a valid ufs type filesystem
on the disk - and it works!!!
Pretty much everything is hunky-dory now. Guess I better find out
what all I've changed and upload the driver and diffs. This was all
done on the 744 kernel sources so I hope it will fit into the
current sources. May need some manual changes...
One problem. The filesystem does things in 2048 byte blocks. I break
this down into 512 byte (sector) blocks. But I don't want to write
to the floppy driver on every write. So I keep one track in a buffer
and only write out the data when the track is needed for another
track. But this may be a problem when the filesystem is unmounted
as the write won't get done. I've got some debug code in now to try
and cause the problem to happen and I'm planning to check in the
close() code to see if the track buffer is dirty and write it if so.
Is there a better way to do this?
+----------------------------Ren & Stimpy--------------------------------+
| "Psst. Hey Guido. It's all so clear to me now. I'm the keeper of the |
| cheese. And you're the lemon merchant. Get it? And he knows it. That's |
| why he's gonna kill us. So we gotta beat it. Yeah. Before he lets |
| loose the marmosets on us! Don't worry, little missy! I'll save you!" |
+------------------ Brad Pepers -- pepersb@cuug.ab.ca -------------------+
------------------------------------------------------------------------------