gvirstor is a virtual storage device for FreeBSD sponsored by Google's Summer of Code 2006 program. Here is a short list of features gvirstor provides:
- Creates storage devices in "overcommit" mode, larger than physically available storage
- Can create devices of arbitrary size, upto 2^63 bytes, with arbitrary chunk (extent) size
- Notifies via kernel-syslog mechanism when used-up storage approaches available storage (watermark values for these warnings are controllable with sysctls)
- Allows adding new storage devices (components) at runtime, when virstor device is "hot"
- Allows removing storage devices (components) at runtime, when they are unused and at the end of list of added components
- Updates virstor allocation table (i.e. metadata) synchronously with write requests (all considerations with drive caches still remain, but if the drive doesn't lie, the data is safe)