spa_config_tryenter incorrectly handles the multiple-lock case
If spa_config_tryenter fails to acquire a particular lock, all locks that have been acquired in the mean time should be released. Unfortunately, the existing arithmetic in that case doesn't do that, so some locks can be left acquired.
Fix from Nexenta, originally reviewed internally by Alek Pinchuk and Josef 'Jeff' Sipek.
Updated by Electric Monk about 6 years ago
- Status changed from New to Closed
commit e495b6e6735b803e422025a630352ef9bba788c5 Author: Saso Kiselkov <firstname.lastname@example.org> Date: 2015-10-22T16:54:03.000Z 6367 spa_config_tryenter incorrectly handles the multiple-lock case Reviewed by: Alek Pinchuk <email@example.com> Reviewed by: Josef 'Jeff' Sipek <firstname.lastname@example.org> Reviewed by: Prashanth Sreenivasa <email@example.com> Reviewed by: Matthew Ahrens <firstname.lastname@example.org> Reviewed by: Dan McDonald <email@example.com> Reviewed by: Steven Hartland <firstname.lastname@example.org> Approved by: Matthew Ahrens <email@example.com>