Whamcloud - gitweb
LU-6401 uapi: migrate remaining uapi headers to uapi directory
[fs/lustre-release.git] / lustre / utils / liblustreapi_hsm.c
index 6880ac5..ed3511f 100644 (file)
@@ -57,8 +57,7 @@
 #include <unistd.h>
 #endif
 
-#include <lnet/lnetctl.h>
-#include <lustre/lustre_idl.h>
+#include <linux/lnet/lnetctl.h>
 #include <lustre/lustreapi.h>
 #include "lustreapi_internal.h"
 
@@ -429,11 +428,12 @@ static int llapi_hsm_log_ct_progress(struct hsm_copyaction_private **phcp,
                        goto err;
        }
 
-       if (progress_type == CT_RUNNING)
+       if (progress_type == CT_RUNNING) {
                rc = llapi_json_add_item(&json_items, "current_bytes",
                                         LLAPI_JSON_BIGNUM, &current);
                if (rc < 0)
                        goto err;
+       }
 
 cancel:
        rc = llapi_json_add_item(&json_items, "event_type", LLAPI_JSON_STRING,
@@ -1125,12 +1125,18 @@ int llapi_hsm_action_begin(struct hsm_copyaction_private **phcp,
                        goto err_out;
        }
 
+       /* Since remove is atomic there is no need to send an initial
+        * MDS_HSM_PROGRESS RPC. */
+       if (hai->hai_action == HSMA_REMOVE)
+               goto out_log;
+
        rc = ioctl(ct->mnt_fd, LL_IOC_HSM_COPY_START, &hcp->copy);
        if (rc < 0) {
                rc = -errno;
                goto err_out;
        }
 
+out_log:
        llapi_hsm_log_ct_progress(&hcp, hai, CT_START, 0, 0);
 
 ok_out: