tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: In-kernel units for block numbers, etc ...
dholland-tech%netbsd.org@localhost (David Holland) writes:
>The problem I see with carrying around unit values at runtime (besides
>potential overhead) is that at least in FS-level code it'll make a
>huge mess. FFS, for example, has hardware-level sectors, DEV_BSIZE
>blocks, fragments, its own blocks, and maybe other things;
FFS (without WAPBL) has
- a superblock at a byte offset
- fragments
All disk I/O except for the superblock is just accessing
one or more fragments. Fragment addresses used to be
converted to physical sector addresses, but in NetBSD
they are converted to DEV_BSIZE adresses when passed
to the disk driver. This is done with a single macro.
It's very simple.
And all previous issues were caused by code that did
not follow this simple rule.
WAPBL breaks this. WAPBL wants to do I/O on physical sectors
and the code must convert back and forth. It's pretty alien
to the filesystem code.
--
--
Michael van Elst
Internet: mlelstv%serpens.de@localhost
"A potential Snark may lurk in every tree."
Home |
Main Index |
Thread Index |
Old Index