Allocation group

An AG or allocation group is a subvolume in a file system which maintains its own track of free blocks and file data.

This makes simultaneous file operations possible; only one write can happen to an AG at any time, but multiple operations can be performed on the file system, each happening in a different AG. In SMP systems, multiple CPUs can write to different AGs, enabling physically concurrent disk operations on a single file system.

Whereas a single hard disk is not capable of reading or writing to multiple places simultaneously, a file system or partition that utilizes a scheme such as RAID or logical volume management may encompass multiple physical disks. In this case, the use of allocation groups may grant additional file system throughput.

Allocation groups are used by these file systems:
 * XFS from SGI, an XFS AG can have a max size of 1TiB
 * Btrfs
 * JFS
 * ext2, ext3 and ext4 use block groups