Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
9223372036854775807
Description
Current HSM llapi provides a interface llapi_hsm_request for a client to submit HSM requests to Lustre, but it does not handle well for the HSM requests with causality relationship. For example, a client send a HSM resotre request immediatly followed with a HSM archive request (or a HSM remove request followed with a HSM resotre request), since the requests has causal relationship, the MDT will ignore to process the subsequent HSM request.
#!/bin/bash lfs hsm_restore $1 lfs hsm_remove $1
One use case for this requirement is evicting cached file from PCC (actually a HSM backend). To free up space for new files, a client deployed with PCC may want to send a HSM restore and HSM remove together to MDT CDT to remove the corresponding archive from PCC device.
In the sanity-hsm, it provdes a no elegance way to hanlde this problem to query the processing state the the HSM request via wait_request_state of "hsm.actions". Or similarly, the client can query to HSM state of a file until the HSM state of the file transimt a coresponding appropriate state (the correspond HSM request is finished), and then execute the following HSM request with causal relationship. But All these methods are not good for perfomance.
Here open this ticket to track the discusses and solution for this problem.