-
Notifications
You must be signed in to change notification settings - Fork 297
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DAOS-14679 pool: Report on stopping sp_stopping
When destroying a pool on an engine, we may block in ds_pool_stop ds_pool_put pool_free_ref pool_child_delete_one pool_child_stop waiting for some ds_pool_child references. If the user retries the pool destroy command, the new ds_pool_stop call can't find the ds_pool object that is waiting for ds_pool_child references, and the new pool destroy command usually succeeds, even though the storage capacity allocated to the pool hasn't been released yet. This patch makes the following changes: - Move the pool_child_delete_one collective call from pool_free_ref to before the ds_pool_put call in ds_pool_stop. This makes sure that the ds_pool object remains in the LRU cache in the sp_stopping state while we wait for ds_pool_child references (or other upper layer resources). - Remove the pool_put_sync trick, which is no longer necessary. - Return an error from ds_pool_stop when the ds_pool object is in the sp_stopping state, so that the new pool destroy command mentioned above will return an explicit error. Features: pool Signed-off-by: Li Wei <wei.g.li@intel.com> Required-githooks: true
- Loading branch information
Showing
3 changed files
with
35 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters