From: Frank Zago Date: Thu, 16 Oct 2014 16:49:49 +0000 (-0500) Subject: LU-5756 hsm: add missing return code in llapi_hsm_copytool_register X-Git-Tag: 2.6.90~51 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=0a18a6a2b2c78a8079131848418a4dc8ebb594d1 LU-5756 hsm: add missing return code in llapi_hsm_copytool_register llapi_hsm_copytool_register() returns a bogus error code on one error path. Removed a never true "if" case. If the LL_IOC_HSM_CT_START fails, then we have to go to out_kuc, not out_err. Change-Id: I738078392f98d4616f6451beece4f0d97bc8051d Signed-off-by: frank zago Reviewed-on: http://review.whamcloud.com/12314 Reviewed-by: Henri Doreau Tested-by: Jenkins Reviewed-by: James Nunez Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: Oleg Drokin --- diff --git a/lustre/utils/liblustreapi_hsm.c b/lustre/utils/liblustreapi_hsm.c index 09b537f..7c2d175 100644 --- a/lustre/utils/liblustreapi_hsm.c +++ b/lustre/utils/liblustreapi_hsm.c @@ -654,11 +654,16 @@ out_free: } /** Register a copytool - * \param[out] priv Opaque private control structure - * \param mnt Lustre filesystem mount point - * \param archive_count - * \param archives Which archive numbers this copytool is responsible for - * \param rfd_flags flags applied to read fd of pipe (e.g. O_NONBLOCK) + * \param[out] priv Opaque private control structure + * \param mnt Lustre filesystem mount point + * \param archive_count Number of valid archive IDs in \a archives + * \param archives Which archive numbers this copytool is + * responsible for + * \param rfd_flags flags applied to read fd of pipe + * (e.g. O_NONBLOCK) + * + * \retval 0 on success. + * \retval -errno on error. */ int llapi_hsm_copytool_register(struct hsm_copytool_private **priv, const char *mnt, int archive_count, @@ -714,6 +719,7 @@ int llapi_hsm_copytool_register(struct hsm_copytool_private **priv, llapi_err_noerrno(LLAPI_MSG_ERROR, "maximum of %zu archives supported", 8 * sizeof(ct->archives)); + rc = -EINVAL; goto out_err; } /* in the list we have a all archive wildcard @@ -738,9 +744,7 @@ int llapi_hsm_copytool_register(struct hsm_copytool_private **priv, rc = -errno; llapi_error(LLAPI_MSG_ERROR, rc, "cannot start copytool on '%s'", mnt); - goto out_err; - } else { - rc = 0; + goto out_kuc; } llapi_hsm_log_ct_registration(&ct, CT_REGISTER); @@ -748,10 +752,8 @@ int llapi_hsm_copytool_register(struct hsm_copytool_private **priv, /* Only the kernel reference keeps the write side open */ close(ct->kuc.lk_wfd); ct->kuc.lk_wfd = LK_NOFD; - if (rc < 0) - goto out_kuc; - *priv = ct; + return 0; out_kuc: