work around failure of udev to observe btrfs device add. Fixes #1606 #1607
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In some rare instances it is possible for udev and lsblk to fail to reflect the current state of a pools disk members. This was initially observed while testing btrfs in partition device members in issue #1494, however the same has now been reproduced using whole disk members.
Please see issue #1606 for examples of where this discrepancy was observed and the subsequent testing of 'udevadmin trigger' to cause udev and lsblk to again reflect the current state of btrfs pools. All proof was via command line to isolate any Rockstor mechanisms.
This pr creates a simple wrapper around 'udevadmin trigger' and calls this directly after a pool resize action is requested to add one or more devices. The call method mimics that of resize_pool() for consistency. Exception handling was tested by substituting a nonsense command, in this scenario a user visible error was returned.
Fixes #1606
This pr was made against current master and a fresh build was used for testing.