diff options
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/features/snapview-server/src/snapview-server-mgmt.c | 32 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c | 1 | 
2 files changed, 33 insertions, 0 deletions
diff --git a/xlators/features/snapview-server/src/snapview-server-mgmt.c b/xlators/features/snapview-server/src/snapview-server-mgmt.c index fc2ff2ab10d..18c902dca1d 100644 --- a/xlators/features/snapview-server/src/snapview-server-mgmt.c +++ b/xlators/features/snapview-server/src/snapview-server-mgmt.c @@ -49,6 +49,31 @@ rpc_clnt_prog_t svs_clnt_handshake_prog = {          .procnames = clnt_handshake_procs,  }; +static int +svs_rpc_notify (struct rpc_clnt *rpc, void *mydata, rpc_clnt_event_t event, +                void *data) +{ +        xlator_t         *this = NULL; +        int              ret = 0; + +        this = mydata; + +        switch (event) { +        case RPC_CLNT_CONNECT: +                ret = svs_get_snapshot_list (this); +                if (ret) { +                        gf_log (this->name, GF_LOG_ERROR, +                                "Error in refreshing the snaplist " +                                "infrastructure"); +                        ret = -1; +                } +                break; +        default: +                break; +        } +        return ret; +} +  int  svs_mgmt_init (xlator_t *this)  { @@ -86,6 +111,13 @@ svs_mgmt_init (xlator_t *this)                  goto out;          } +        ret = rpc_clnt_register_notify (priv->rpc, svs_rpc_notify, this); +        if (ret) { +                gf_log (this->name, GF_LOG_WARNING, +                        "failed to register notify function"); +                goto out; +        } +          ret = rpcclnt_cbk_program_register (priv->rpc, &svs_cbk_prog,                                              this);          if (ret) { diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c index 724dcb792ae..9e2a75f110f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c @@ -1704,6 +1704,7 @@ glusterd_import_friend_snap (dict_t *peer_data, int32_t snap_count,                          "object %s", peer_snap_name);                  goto out;          } +        glusterd_fetchsnap_notify (this);  out:          if (ret)  | 
