Subject: Re: wedges and DEV_BSIZE (Was Re: removing VOPs)
To: Chuck Silvers <firstname.lastname@example.org>
From: Wolfgang Solfrank <email@example.com>
Date: 10/10/2005 18:46:50
> if we were to change the units of all the interfaces that currently
> use DEV_BSIZE implicitly, I'd much rather see us move to bytes than to
> a variable unit like the device sector size. say you have a virtual device
> that is backed by two physical devices with different sector sizes,
> what would you use for the virtual device's sector size? (well, here
> you could always use the largest sector size of the physical devices.)
> but what if a virtual device is changed to be backed by a different
> physical device of a larger sector size? how can anything that caches
> the sector size know that it has changed? even if ever caller re-fetches
> the sector size every time, there's still a race unless there were some
> sector-size-lock. let's not even go there.
> using bytes as the unit for the interface would avoid all such issues.
Yes, please! This would allow cd9660 to support multiple extents of files
as defined in the standard.
The problem currently is that with 9660, a file can have multiple extents,
which can have arbitray lengths, i.e. need not be multiples of the block/
sector size. The current vfs interface doesn't allow for that. Changing
it to use byte offsets instead would be really useful here.
On the other hand, I never saw a CD that actually used this. Probably
because I also never saw an implementation of a 9660 filesystem that would
support this. Albeit I didn't look to closely recently...
ws@TooLs.DE Wolfgang Solfrank, TooLs GmbH