=== A New GEOM Facility, gunion

Contact: Marshall Kirk McKusick <mckusick@mckusick.com>

The gunion facility is used to track changes to a read-only disk on a writable disk.
Logically, a writable disk is placed over a read-only disk.
Write requests are intercepted and stored on the writable disk.
Read requests are first checked to see if they have been written on the top (writable disk) and if found are returned.
If they have not been written on the top disk, then they are read from the lower disk.

The gunion facility can be especially useful if you have a large disk with a corrupted filesystem that you are unsure of how to repair.
You can use gunion to place another disk over the corrupted disk and then attempt to repair the filesystem.
If the repair fails, you can revert all the changes in the upper disk and be back to the unchanged state of the lower disk thus allowing you to try another approach to repairing it.
If the repair is successful you can commit all the writes recorded on the top disk to the lower disk.

Another use of the gunion facility is to try out upgrades to your system.
Place the upper disk over the disk holding your filesystem that is to be upgraded and then run the upgrade on it.
If it works, commit it; if it fails, revert the upgrade.

The gunion(8) utility is used to create and manage an instance of a gunion. Further details and usage examples can be found in the gunion(8) manual page.
At this time, gunion(8) is available only in 14.0.

Sponsor: Netflix
