diff options
author | Ursula Braun <ubraun@linux.ibm.com> | 2019-11-16 17:47:29 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-16 12:26:49 -0800 |
commit | 6dabd405451f35c905dfadb6a06f5c981074fc14 (patch) | |
tree | 3e8be6a1af9a9a5e4389c7dda5c9ca06cc4ea06b /net/smc/smc_core.h | |
parent | c39e342a050a4425348e6fe7f75827c0a1a7ebc5 (diff) | |
download | linux-6dabd405451f35c905dfadb6a06f5c981074fc14.tar.bz2 |
net/smc: introduce bookkeeping of SMCR link groups
If the smc module is unloaded return control from exit routine only,
if all link groups are freed.
If an IB device is thrown away return control from device removal only,
if all link groups belonging to this device are freed.
Counters for the total number of SMCR link groups and for the total
number of SMCR links per IB device are introduced. smc module unloading
continues only if the total number of SMCR link groups is zero. IB device
removal continues only it the total number of SMCR links per IB device
has decreased to zero.
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_core.h')
-rw-r--r-- | net/smc/smc_core.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/smc/smc_core.h b/net/smc/smc_core.h index a428db6cd2e2..c472e12951d1 100644 --- a/net/smc/smc_core.h +++ b/net/smc/smc_core.h @@ -318,6 +318,7 @@ void smc_conn_free(struct smc_connection *conn); int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini); void smcd_conn_free(struct smc_connection *conn); void smc_lgr_schedule_free_work_fast(struct smc_link_group *lgr); +int smc_core_init(void); void smc_core_exit(void); static inline struct smc_link_group *smc_get_lgr(struct smc_link *link) |