diff options
Diffstat (limited to 'api/src')
-rw-r--r-- | api/src/glfs-mgmt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c index 8283bd3fe57..2ead93863bc 100644 --- a/api/src/glfs-mgmt.c +++ b/api/src/glfs-mgmt.c @@ -392,6 +392,7 @@ mgmt_getspec_cbk (struct rpc_req *req, struct iovec *iov, int count, int ret = 0; ssize_t size = 0; FILE *tmpfp = NULL; + int need_retry = 0; struct glfs *fs = NULL; frame = myframe; @@ -400,6 +401,7 @@ mgmt_getspec_cbk (struct rpc_req *req, struct iovec *iov, int count, if (-1 == req->rpc_status) { ret = -1; + need_retry = 1; goto out; } @@ -482,6 +484,8 @@ out: gf_log ("glfs-mgmt", GF_LOG_ERROR, "failed to fetch volume file (key:%s)", ctx->cmd_args.volfile_id); + if (!need_retry) + glfs_init_done (fs, -1); } if (tmpfp) |