[Lustre-devel] HSM comments
DEGREMONT Aurelien
aurelien.degremont at cea.fr
Mon Nov 3 07:30:02 PST 2008
Nathaniel Rutman a écrit :
> 5.4 unlink
>
> 1. A client issues an unlink for a file to the MDT.
> 2. The MDT includes the "hsm_exists" bit in the changelog unlink entry
> 3. The policy engine determines if the file should be removed from HSM
> 4. Policy engine sends HSMunlink FID to coordinator via MDT ioctl
> 1. Yuck - we can't do direct ioctls on the MDT from a client
> node. We can only do ioctls on a file.
>
> maybe we need to implement a .lustre/device/XXX dir,
> where all MDT/OSTs are listed, and act as stub files for
> handling ioctls. or maybe policy engine
> talks to agent / tool directly
> for unlinks?
Can't we add an ioctl on /dev/obd or /mnt/lustre root dir ? or even on
.lustre/fid and passing the fid in ioctl args?
I'm not fond of .lustre/device/XXX dirs...
> 5. The coordinator sends a request to one of its agent for the
> corresponding removal.
> 6. The agent spawns the HSM tool to do this removal.
> 7. When HSM removal is complete, policy engine cancels changelog
> unlink record
> 1. How does agent/HSM tool signal to policy engine that HSM
> removal is complete?
> 8. In case of agent crash, unlink record will remain uncancelled in
> the changelog; policy engine should restart processing at the
> first uncancelled record.
>
>
> There's two open issues:
> - How for policy engine to tell coordinator to unlink an HSM object,
> when no corresponding object exists on the MDT for us to ioctl() on
> -which coordinator to talk to for CMD?
If we implement an ioctl like
ioctl(.lustre/fid, HSMUnlink, fid=0x0000121561), can the API find the
good MDT from the FID ? FLD can do this for an already removed file?)
> - How does HSMunlinkHelper return a signal to the policy engine that
> the removal is complete
> -if policy engine directly calls HSMunlinkHelper this is easy...
I think there is a more general issue concerning feedback for the
PolicyEngine. Surely the PolicyEngine will need information for other
request it sent to the Coordinator. We should think of a more general
mechanism to inform it of the success or failure of its requests.
Should the HSM (succesfull) event become changelog
events....(hsm_copyin/hsm_copyout/hsm_remove)? Can another program be
interested in such events?
Aurélien
More information about the lustre-devel
mailing list