Alexander Motin mav at FreeBSD.org
Mon Oct 31 20:10:19 UTC 2011


Attempt to fix some GEOM MULTIPATH issues made me almost rewrite it. So
I would like to present my results and request for testing and feedback.

The main changes:
 - Improved locking and destruction process to fix crashes in many cases.
 - Improved "automatic" configuration method to make it safe by reading
metadata back from all specified paths after writing to one.
 - Added provider size check to reduce chance of conflict with other
GEOM classes.
 - Added "manual" configuration method without using on-disk metadata.
 - Added "add" and "remove" commands to manage paths manually.
 - Failed paths no longer dropped from GEOM, but only marked as FAIL and
excluded from I/O operations.
 - Automatically restore failed paths when all others paths are marked
as failed, for example, because of device-caused (not transport) errors.
 - Added "fail" and "restore" commands to manually control FAIL flag.
 - GEOM is now destroyed on last provider disconnection. IMHO it is
right to do if device was completely removed.
 - Added optional Active/Active mode support. Unlike Active/Passive
mode, load evenly distributed between all working paths. If supported by
device, it allows to significantly improve performance, utilizing
bandwidth of all paths. It is controlled by -A option during creation.
Disabled by default now.
 - Improved `status` and `list` commands output.

Latest patch can be found here:

Feedbacks are welcome!

Sponsored by: iXsystems, Inc.

Alexander Motin

More information about the freebsd-current mailing list