Document revision date: 15 July 2002
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS I/O User's Reference Manual


Previous Contents Index

1.6.8.4 Disk Quotas

Disk quota enforcement is enabled by a quota file on the volume, or relative volume 1 if the file is on a volume set. The quota file appears in the volume's master file directory (MFD) under the name QUOTA.SYS;1. This section describes the control functions that operate on the quota file.

Table 1-16 lists the enable and disable quota control functions.

Table 1-16 Disk Quota Functions (Enable/Disable)
Value Meaning
FIB$C_ENA_QUOTA Enable the disk quota file. If a nonzero directory file ID is specified in FIB$W_DID, a lookup subfunction is performed to locate the quota file (see Section 1.3.1). To issue this function, you must have either a system UIC or SYSPRV privilege, or be the owner of the volume.

The quota file specified by FIB$W_FID, if present, is accessed by the ACP, and quota enforcement is turned on. By convention, the quota file is named [0,0]QUOTA.SYS;1. Therefore, FIB$W_DID should contain the value 4,4,0 and the name string specified with P2 should be "QUOTA.SYS;1".

FIB$C_DSA_QUOTA Disable the disk quota file. The quota file is deaccessed and quota enforcement is turned off. To issue this function, you must have either a system UIC or SYSPRV privilege, or be the owner of the volume.

Table 1-17 lists the quota control functions that operate on individual entries in the quota file. Each operation transfers quota file data to and from the ACP using a quota data block. This block has the same format as a record in the quota file. Figure 1-7 shows the format of this block.

Table 1-17 Disk Quota Functions (Individual Entries)
Value Meaning
FIB$C_ADD_QUOTA Add an entry to the disk quota file, using the UIC and quota specified in the P2 argument block. FIB$C_ADD_QUOTA requires write access to the quota file.
FIB$C_EXA_QUOTA Examine a disk quota file entry. The entry whose UIC is specified in the P2 argument block is returned in the P4 argument block, and its length is returned in the P3 argument word. Using two flags in FIB$L_CNTRLVAL, it is possible to search through the quota file using wildcards. The two flags are:
FIB$V_ALL_MEM Match all UIC members
FIB$V_ALL_GRP Match all UIC groups

The ACP maintains position context in FIB$L_WCC. On the first examine call, you specify 0 in FIB$L_WCC; the ACP returns a nonzero value so that each succeeding examine call returns the next matching entry.

Read access to the quota file is required to examine all non-user entries.

FIB$C_MOD_QUOTA Modify a disk quota file entry. The quota file entry specified by the UIC in the P2 argument block is modified according to the values in the block, as controlled by the following three flags in FIB$L_CNTRLVAL:
FIB$V_MOD_PERM Change the permanent quota
FIB$V_MOD_OVER Change the overdraft quota
FIB$V_MOD_USE Change the usage data

The usage data can be changed only if the volume is locked by FIB$C_LOCK_VOL (see Section 1.6.8.3). FIB$C_MOD_QUOTA requires write access to the quota file.

The P3 and P4 arguments return the modified quota entry to you.

By using the flags FIB$V_ALL_MEM and FIB$V_ALL_GRP, you can search through the quota file using wildcards just as you would with the FIB$C_EXA_QUOTA function.

FIB$C_REM_QUOTA Remove a disk quota file entry whose UIC is specified in the P2 argument block. FIB$C_REM_QUOTA requires write access to the quota file.

The P3 and P4 arguments return the removed quota file entry to you.

By using the flags FIB$V_ALL_MEM and FIB$V_ALL_GRP, you can search through the quota file using wildcards just as you would with the FIB$C_EXAQUOTA function.

Figure 1-7 Quota File Transfer Block


IO$_ACPCONTROL functions that transfer quota file data between the caller and the ACP use the following device- or function-dependent arguments:

1.7 I/O Status Block

Figure 1-8 shows the I/O status block (IOSB) for ACP--QIO functions. Appendix A lists the status returns for these functions. (The OpenVMS system messages documentation provides explanations and suggested user actions for these returns.)

The file ACP returns a completion status in the first longword of the IOSB. In an extend operation, the second longword is used to return the number of blocks allocated to the file. If a contiguous extend operation (FIB$V_ALCON) fails, the second longword is used to return the size of the file after truncation.

Values returned in the IOSB are most useful during operations in compatibility mode. When executing programs in the native mode, use the values returned in FIB locations.

Figure 1-8 IOSB Contents---ACP-QIO Functions


If an extend operation (including CREATE) was performed, IOSB+4 contains the number of blocks allocated, or the largest available contiguous space if a contiguous extend operation failed. If a truncate operation was performed, IOSB+4 contains the number of blocks added to the file size to reach the next cluster boundary.


Chapter 2
Disk Drivers

This chapter describes the use of disk drivers that support the disk devices listed in the Software Product Description for the OpenVMS Operating System for Alpha and VAX. The chapter also includes descriptions of many of the supported disks and controllers; however, not all supported devices are described here. Refer to the Software Product Description for the OpenVMS Operating System for Alpha and VAX for the definitive list of supported devices.

All disk drivers support Files-11 On-Disk Structure Level 1 and Level 2 file structures. Access to these file structures is through the DCL commands INITIALIZE and MOUNT, followed by the RMS calls described in the OpenVMS Record Management Services Reference Manual. Files in RT-11 format can be read or written with the file exchange facility EXCHANGE.

2.1 Supported Disk Devices and Controllers

The following sections provide descriptions of disk devices.

To obtain more information about a device, use the DCL command SHOW DEVICE with the /FULL qualifier, the Get Device/Volume Information ($GETDVI) system service (from a program), or the F$GETDVI lexical function (in a command line or command procedure). Section 2.3 lists the information on disk devices returned by $GETDVI.

2.1.1 UDA50 UNIBUS Disk Adapter

The UDA50 UNIBUS Disk Adapter is a microprocessor-based disk controller for mass storage devices that implements the DIGITAL Storage Architecture (DSA); for more information on the DSA, see Section 2.2.3.

The UDA50 controller is used to connect any combination of four RA60, RA80, and RA81 disk drives to the UNIBUS. Two UDA50 controllers can be attached to a single UNIBUS for a maximum of eight disk drives per UNIBUS. On the VAX-11/780 processor, the operating system supports one UDA50 on the first UNIBUS, which can accommodate certain other options. Adding a second UDA50 requires a second UNIBUS. With the exception of the first UNIBUS, a maximum of two UDA50 controllers per UNIBUS are supported. If two UDA50 controllers are on a UNIBUS, no other options can be placed on that UNIBUS. The VAX-11/730 processor supports only one UDA50 per UNIBUS.

The UDA50, in implementing DSA, takes over the control of the physical disk unit. The operating system processes request virtual or logical I/O on disks controlled by the UDA50. The operating system maps virtual block addresses into logical block addresses. The UDA50 then resolves logical block addresses into physical block addresses on the disk.

The UDA50 controller corrects bad blocks on the disk by requesting that the disk class driver revector a failing physical block to another, error-free physical block on the disk; the logical block number is not changed (see Section 2.2.11.1). Any bad blocks that might exist on a disk attached to a UDA50 are transparent to the operating system, which does logical or virtual I/O to such a disk. The UDA50 also corrects most data errors.

2.1.2 KDA50 Disk Controller

The KDA50 disk controller is a two-module disk controller that allows the RA-series DSA disk drives to be attached to Q-bus systems. The KDA50 performs the same functions as the UDA50 (see Section 2.1.1).

2.1.3 KDB50 Disk Controller

The KDB50 disk controller is a two-module disk controller that allows the RA-series DSA disk drives to be attached to BI bus systems, such as the VAX 8200 processor. The KDB50 performs the same functions as the UDA50 (see Section 2.1.1).

2.1.4 HSC40, HSC50, and HSC70 Controllers

HSC controllers are high-speed, high-availability controllers for mass storage devices that implement the DIGITAL Storage Architecture (DSA); for more information about the DSA, see Section 2.2.3. An HSC controller is connected to a processor by a CI bus (computer interconnect). The operating system supports the use of the HSC controllers in controlling the RA family of disks.

The HSC40 can support up to 12 SDI (standard disk interface) disks from the SA or RA families of disk drives or a combination of up to 12 SDI disk drives and TA-series tape drives.

The HSC70 can support up to 32 SDI disks from the SA or RA families of disk drives or a combination of SDI disk drives and TA-series tape drives.

HSC controllers, in implementing DSA, take over the control of the physical disk unit. System processes request virtual or logical I/O on disks controlled by the HSC controller. The operating system maps virtual block addresses into logical block addresses. The HSC controller then resolves logical block addresses into physical block addresses on the disk.

HSC controllers correct bad blocks on the disk by revectoring a failing physical block to another, error-free physical block on the disk; the logical block number is not changed. The operating system, which performs logical or virtual I/O to such a disk, does not recognize that any bad blocks might exist on a disk attached to an HSC controller. HSC controllers also correct most data errors.

The HSC series of controllers provides access to disks despite most hardware failures. Use of an HSC controller permits two or more processors to access files on the same disk.

Note

Only one system should have write access to a Files-11 On-Disk Structure Level 1 disk or to a foreign-mounted disk; all other systems should only have read access to the disk. For Files-11 On-Disk Structure Level 2 volumes, the operating system enables read/write access to all nodes that are members of the same cluster.

HSC-series controllers allow you to add or subtract disks from the device configuration without rebooting the system.

2.1.5 SII Integral Adapter

The SII integral adapter on the MicroVAX 3300/3400 processor provides access through the DIGITAL Storage Systems Interconnect (DSSI) bus to a maximum of seven storage devices.

The term dual-host refers to pairs of CPUs connected to a bus. In dual-host configurations of MicroVAX 3300/3400 CPUs, the DSSI bus must be connected between the SII integral adapters present on both CPUs.

A maximum of six devices can be connected to the EDA640 adapter, which is implemeneted by the SII chip, DXX chip, and 128K RAM chip, in dual-host configurations.

2.1.6 KFQSA Adapter

The KFQSA adapter allows a maximum of seven storage devices for use on Q-bus systems.

In dual-host configurations of MicroVAX 3800/3900 CPUs, the DSSI bus must be connected between KFQSA adapters present on both CPUs.

A maximum of six devices can be connected to the KFQSA adapter in dual-host configurations.

2.1.7 RQDX3 Disk Controller

The RQDX3 controller is a Q-bus controller used with the RD series of Winchester-type disk drives and the RX33 and RX50 flexible diskette drives.

2.1.8 RA70 and RA90 Disk Drives

The RA70 is a 5.25-inch 280 MB high-performance DSA disk drive that uses thin-film media. It has an average access time of 27.0 ms and average seek time of 19.5 ms. The RA70 uses the Standard Disk Interface (SDI) and the KDA50 controller, and can be dual-ported.

The RA90 is a 1.2 GB disk drive designed with thin-film heads and 9-inch thin-film media with an average seek time of 18.5 ms. The RA90 conforms to DSA and uses the SDI. Both the RA70 and RA90 disk drives can be connected to medium-sized systems with the HSC-series controllers, KDB50, or UDA50 controllers.

2.1.9 RA60 Disk

The RA60 device uses high-capacity, removable media that provides 205 MB of usable storage (7.5 million bits of data per square inch) with transfer rates of 1.9 MB per second (burst) and 950 kb per second (sustained). The RA60 belongs to the DIGITAL Storage Architecture (DSA) family of disk devices (see Section 2.2.3). It is connected to either a UNIBUS Disk Adapter (UDA50) or an HSC50 controller. Up to four disk drives can be connected to each UDA50. Up to 24 disk drives can be connected to each HSC50.

2.1.10 RA80/RB80/RM80 and RA81 Fixed-Media Disks

The R80 disk drive is a high-capacity, moving-head disk whose nonremovable media consists of 14 data surfaces. Depending on how it is connected to the system, the R80 is identified internally as an RA80, RB80, or RM80, as follows:

The RA81 is a high-capacity disk drive with nonremovable media that can hold more than 890,000 blocks of data. This translates into more than 455 MB per spindle. The RA81 is connected to a UDA50 or an HSC50 controller. Up to four disk drives can be connected to each UDA50. Up to 24 drives can be connected to each HSC50.

The RA80 and RA81 belong to the DIGITAL Storage Architecture (DSA) family of disk devices (see Section 2.2.3).

2.1.11 RB02 and RL02 Cartridge Disk (VAX Only)

On VAX systems, the RL02 cartridge disk is a removable, random-access mass storage device with two data surfaces. The RL02 is connected to the system by an RL11 controller that interfaces with the UNIBUS adapter. Up to four RL02 disk drives can be connected to each RL11 controller. For physical I/O transfers, the track, sector, and cylinder parameters describe a physical 256-byte RL02 sector (see Section 2.4).

When the RL02 is connected to an RB730 controller on a VAX-11/730 processor, it is identified internally as an RB02 disk drive. Disk geometry is unchanged and RL02 disk packs can be exchanged between drives on different controllers. Up to four drives can be connected to the RB730 controller.

2.1.12 RC25 Disk (VAX Only)

On VAX systems, the RC25 disk is a self-contained, Winchester-type, mass storage device that consists of a disk adapter module, a disk drive, and an integrated disk controller. The drive contains two 8-inch, double-sided disks. One of the disks (RCF25) is a sealed, nonremovable, fixed-media disk. The other disk is a removable cartridge disk that is sealed until it is loaded into the disk drive. The disks share a common drive spindle, and together they provide 52 million bytes of storage. Adapter modules interface the RC25 with either a UNIBUS system or a Q-bus system.

2.1.13 RD53 and RD54 Disks (VAX Only)

On VAX systems, the RD53 and RD54 are 5.25-inch, full-height, Winchester-type drives with average access time of 38 ms and a data transfer rate of 0.625 MB per second. The RD53 and RD54 have a formatted capacity of 71 MB and 159 MB, respectively. When used with the RQDX3 controller, the RD53 and RD54 are DSA disks.

See Section 2.2.12 for information about using RD series disks on the VAXstation 2000.

2.1.14 RF30 and RF71 Disks

The RF30 is a 150-MB, 5.25-inch, half-height disk drive while the RF71 is a 400-MB full-height disk drive. The RF30 and RF71 include an embedded controller for multihost access and a mass storage control protocol (MSCP) server. The RF71 has a peak data transfer rate of 1.5 MB per second with average seek and access time of 21 ms and 29 ms, respectively.

Both the RF30 and RF71 disks use DIGITAL Storage System Interconnect (DSSI) bus and host adapters.

2.1.15 RK06 and RK07 Cartridge Disks (VAX Only)

On VAX systems, the RK06 cartridge disk is a removable, random-access, bulk storage device with three data surfaces. The RK07 cartridge disk is a double-density RK06. The RK06 and RK07 are connected to the system by an RK611 controller that interfaces to the UNIBUS adapter. Up to eight disk drives can be connected to each RK611.

2.1.16 RM03 and RM05 Pack Disks (VAX Only)

On VAX systems, the RM03 and RM05 pack disks are removable, moving-head disks that consist of five data surfaces for the RM03 and 19 data surfaces for the RM05. These disks are connected to the system by a MASSBUS adapter (MBA). Up to eight disk drives can be connected to each MBA.

2.1.17 RP05 and RP06 Disk (VAX Only)

On VAX systems, the RP05 and RP06 removable disks consist of 19 data surfaces and a moving read/write head. The RP06 removable disk has approximately twice the capacity of the RP05. These disks are connected to the system by an MBA. Up to eight disk drives can be connected to each MBA.

2.1.18 RP07 Fixed-Media Disk (VAX Only)

On VAX systems, the RP07 is a 516-MB, fixed-media disk drive that attaches to the MASSBUS of the VAX-11/780 system. The RP07 transfers data at 1.3 million bytes per second or as an option at a peak rate of 2.2 million bytes per second. The nine platters rotate at 3600 rev/min and their data is accessed at an average speed of 31.3 ms. These disks are connected to the system by an MBA. Up to eight disk drives can be connected to each MBA.

2.1.19 RRD40 and RRD50 Read-Only Memory (CD-ROM)

The RRD40 and RRD50 are compact disc read-only memory (CD-ROM) devices that use replicated media with a formatted capacity of approximately 600 MB.

The RRD40 is a 5.25-inch half-height, front-loading tabletop or embedded device that attaches to the system using either the Small Computer System Interface (SCSI) or Q-bus interface.

The RRD50 is a 5.25-inch, top-loading tabletop device that attaches to the system using a Q-bus interface.

The RRD40 has an average access time of 0.5 second while the average access time for the RRD50 is 1.5 seconds. Both the RRD40 and RRD50 have a data transfer rate of 150 KB per second.

The media for the RRD40 and the RRD50 are removable 4.7-inch (120-mm) compact discs. However, the media for the RRD40 are enclosed in protective self-loading carriers. The RRD40 with a SCSI interface is also available as an embedded unit. The RRD40 and RRD50 Q-bus subsystems are standard disk MSCP devices.

2.1.20 RX01 Console Disk (VAX Only)

On VAX systems, the RX01 disk uses a diskette. The disk is connected to the LSI console on the VAX-11/780, which the driver accesses using the MTPR and MFPR privileged instructions.

For logical and virtual block I/O operations, data is accessed with one block resolution (four sectors). The sector numbers are interleaved to expedite data transfers. Section 2.2.10 describes sector interleaving in greater detail.

For physical block I/O operations, the track, sector, and cylinder parameters describe a physical, 128-byte RX01 sector (see Figure 2-1 and Section 2.4). Note that the driver does not apply track-to-track skew, cylinder offset, or sector interleaving to this physical medium address.

Figure 2-1 Disk Physical Address



Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6136PRO_005.HTML