O'Reilly logo

Solaris™ Internals: Core Kernel Components by Richard McDougall, Jim Mauro

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

11.6. 64-bit Files in Solaris

For many years Sun shipped systems with a maximum file system and file size of 2 gigabytes. This size was a constraint imposed by the number of bits in the offset data types in the kernel. The size limitation occurred in three main places: the disk address type, daddr_t; the file system interface, off_t data type; and the uio structure used for device drivers and some file system interfaces. The pre-Solaris 2.0 types are both 32 bits, as shown below.

typedef long    daddr_t;
typedef long    off_t;

struct  uio {
        struct  iovec *uio_iov;
        int     uio_iovcnt;
        off_t   uio_offset;
        short   uio_segflg;
        short   uio_fmode;
        int     uio_resid;
};

The daddr_t and uio_t structures are used by device drivers and by some of the file system interfaces ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required