FBA(4,F) AIX Technical Reference FBA(4,F) ------------------------------------------------------------------------------- fba PURPOSE Supports the Fixed Block Architecture Direct Access Storage Device driver. SYNOPSIS # include # include DESCRIPTION Fixed disk devices on an AIX/370 system provide block and character access to minidisks on physical disk devices. The fba special file is unique to AIX/370. The particular device accessed is of the form /dev/fhdnnn and /dev/rfhdnnn, where nnn is the given device minor number. The driver supports up to 32 separate AIX minidisks (partitions) on a single physical disk. Thus, each physical disk has 32 minor numbers associated with it. The first of these refers to the entire disk and is normally used for disk maintenance only. The other 31 minors are available for user or system AIX minidisks. In raw I/O, the buffer must always be aligned on a 4096 byte boundary, and counts must be a multiple of 4096 bytes (an integral number of physical blocks). lseek system calls should also specify such an aligned address. A number of IOCTL operations are available. In addition to IOCTYPE and IOCINFO, the following calls are defined: DEVADDR Returns the device address ioctl(fd, DEVADDR, arg); int *arg; HDIOPAR Return driver internal structure ioctl(fd, DEVADDR, arg); struct fba_info *arg; where struct fba_info is declared as: Processed November 7, 1990 FBA(4,F) 1 FBA(4,F) AIX Technical Reference FBA(4,F) struct fba_info { struct buf fi_tab; /* Queue header */ bool_t fi_alive; /* Is it really there ? */ bool_t fi_ro; /* Disk is read-only */ short fi_ocount; /* Open count */ short fi_rocount; /* Raw open count */ ioaddr_t fi_daddr; /* I/O address for this device */ int fi_physec; /* Physical sector size */ int fi_maxsecno; /* Maximum number of sectors */ short fi_secptrk; /* Sectors per track (unused) */ short fi_trkpcyl; /* Tracks per cylinder (unused) */ int fi_secpcyl; /* Sectors per cylinder (unused) */ int fi_ncyl; /* Number of cylinders (unused) */ caddr_t fi_realccw; /* Real address of the ccw's */ ccw_t fi_deccw; /* Define extent ccw */ ccw_t fi_locccw; /* Locate ccw */ ccw_t fi_rwccw; /* Read/write ccw */ delist_t fi_delst; /* Define extent list */ loclist_t fi_loclst; /* Locate list */ caddr_t fi_idaws -MAX_FBA_COUNT / NBIDA +1 -; /* IDA words */ Processed November 7, 1990 FBA(4,F) 2 FBA(4,F) AIX Technical Reference FBA(4,F) unsigned int fi_nsiord; /* number of read sio */ unsigned int fi_nsiowr; /* number of write sio */ unsigned int fi_nblksrd; /* number of blocks read */ unsigned int fi_nblkswr; /* number of blocks written */ unsigned int fi_nretry; /* number of retries */ unsigned int fi_tsio; /* rmtime for last sio */ double fi_tottsio; /* microsecs from sio to intr */ }; HDIORST Reread the VTOC minidisk partition table. ioctl(fd, HDIORST, arg); caddr_t arg; The argument is not used. This command only works on the whole partition maintenance minidisk. RELATED INFORMATION In this book: "ioctlx, ioctl, gtty, stty," "open, openx, creat," "read, readv, readx," and "write, writex." Processed November 7, 1990 FBA(4,F) 3