10.2 EXTended filesystem (EXT)

Ironclad supports EXT-series filesystems read-only and read-write.

While a user may be used to the ext2/3/4 distinction, EXT internally works as an independent set of features, with the version numbers specifying a widely understood, assumed, and inconsistent set of features.

Ironclad supports the feature list: sparse_super, large_file, filetype, resize_inode, dir_index, ext_attr.

Those features should translate to ext2 read-write support, and ext3 read-only support.

Some ioctl calls exist for files inside EXT-series FSs, which can help manage specialized FS-specific inode flags and permissions, they are:

EXT_GETFLAGS = 0x5600
EXT_SETFLAGS = 0x5601

ioctl(fd, EXT_GETFLAGS, pointer_to_u32); // Get EXT's flags inode field.
ioctl(fd, EXT_SETFLAGS, pointer_to_u32); // Set EXT's flags inode field.

10.2.1 Ironclad support quirks

EXT features a error policy on EXT internal errors that dictates for the kernel to panic when triggered. While other operating systems honor the policy as-is, Ironclad deliverately acts on it was a "Remount read only" policy. This is done to avoid denial of service attacks by mounting deliverately faulty flesystems.