INND and CNFS on raw-device

Russ Allbery rra at stanford.edu
Fri Jul 14 23:39:13 UTC 2000


Charles Ball <cball at bu.edu> writes:

> As I understand it, the problem is that lseek is limited to 32bits (2Gb)
> of offset when working with raw devices on Solaris.

No, that's not the problem.  The problem is that Solaris doesn't support
block devices for access beyond 2GB, at least in 32-bit mode; it only
supports character devices of that size.  In other words, you have to use
the /dev/rdsk/* devices instead of the /dev/dsk/* devices.  When writing
to a character device that has an underlying block structure, such as a
disk, you have to do your own blocking or you break things.

CNFS isn't prepared to do its own blocking, or do any of the other
extensive work required to figure out what block size is needed, etc., and
in my opinion it's way more effort than it's worth to try to change that.

I believe newer versions of Solaris starting with Solaris 7 are supposed
to support block devices larger than 2GB iff you're running in 64-bit
mode, so that may be another alternative to investigate.  I'm not aware of
anyone who's already gotten INN working in that environment, though, so
it's a bit of unchartered territory.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the inn-workers mailing list