Commit 6ae4922
authored
DAOS-16796 container: server handle cleanup (daos-stack#16793)
Server handle cleanup to avoid potential deadlock & other issues.
- Never try to fetch server handle through IV_CONT_CAPA.
- Never try to lookup server handle in normal handle DB.
- Don't call ds_cont_tgt_open/close() for IV_POOL_HDL to avoid race.
- Use same ULT to periodically report EC agg epoch, fetch pool
connection handles, server open handles.
- Don't put server handle in container handle hash, otherwise, the
handle will be leaked on container stop/destroy.
- I/O request handler won't go through normal handle code path when the
server handle is used. If the server handle isn't propagated to server,
-DER_STALE will be returned for retry.
- Introduce ds_cont_child::sc_open_mutex to serialize cont open in the
ds_cont_local_open().
- Fix error cleanup defect in ds_cont_local_open() which could
call dtx_cont_close() mistakenly.
Signed-off-by: Niu Yawei <yawei.niu@hpe.com>1 parent 7552446 commit 6ae4922
9 files changed
Lines changed: 460 additions & 344 deletions
File tree
- src
- container
- include/daos_srv
- pool
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
502 | 502 | | |
503 | 503 | | |
504 | 504 | | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
| 505 | + | |
512 | 506 | | |
513 | 507 | | |
514 | 508 | | |
| |||
980 | 974 | | |
981 | 975 | | |
982 | 976 | | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
983 | 982 | | |
984 | 983 | | |
985 | 984 | | |
| |||
1662 | 1661 | | |
1663 | 1662 | | |
1664 | 1663 | | |
| 1664 | + | |
| 1665 | + | |
| 1666 | + | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
| 1671 | + | |
| 1672 | + | |
| 1673 | + | |
| 1674 | + | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
1665 | 1682 | | |
1666 | 1683 | | |
1667 | 1684 | | |
| 1685 | + | |
| 1686 | + | |
| 1687 | + | |
| 1688 | + | |
| 1689 | + | |
| 1690 | + | |
| 1691 | + | |
| 1692 | + | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
| 1696 | + | |
| 1697 | + | |
| 1698 | + | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
| 1708 | + | |
| 1709 | + | |
| 1710 | + | |
| 1711 | + | |
| 1712 | + | |
| 1713 | + | |
| 1714 | + | |
| 1715 | + | |
| 1716 | + | |
| 1717 | + | |
| 1718 | + | |
| 1719 | + | |
| 1720 | + | |
| 1721 | + | |
| 1722 | + | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
1668 | 1726 | | |
1669 | 1727 | | |
1670 | 1728 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6014 | 6014 | | |
6015 | 6015 | | |
6016 | 6016 | | |
6017 | | - | |
6018 | | - | |
| 6017 | + | |
6019 | 6018 | | |
6020 | 6019 | | |
6021 | 6020 | | |
6022 | | - | |
6023 | | - | |
6024 | | - | |
| 6021 | + | |
| 6022 | + | |
| 6023 | + | |
| 6024 | + | |
6025 | 6025 | | |
6026 | 6026 | | |
6027 | 6027 | | |
| |||
0 commit comments