Hard Links
Rule Engine Plugin
June 9-12, 2020
iRODS User Group Meeting 2020
Virtual Event
Kory Draughn
Software Developer
iRODS Consortium
Hard Links
Rule Engine Plugin
Hard Links - Why?
What is a hard link?
In Linux, all file information is stored in an i-node.
A hard link is the mapping between a filename and an i-node.
i-nodes can have multiple hard links.
Hard Link representation in iRODS
A hard link has the following characteristics:
The (UUID, resource_id) tuple uniquely identifies a hard linked replica.
A data object can be a member of multiple hard link groups.
Policy Enforcement Points
Maintaining the behavior of these operations required changes to the Rule Engine Plugin Framework (REPF).
Example: Creating a Hard Link
Example: Renaming a Hard Link
Example: Unlinking a Hard Link
Example: Trimming a Hard Link
$ itrim -n2
Example: Physically moving a hard linked replica
$ iphymv -S <src_resource> -R <dst_resource>
Important things to know
Apparently, this is hard 😅!
Since release, we've identified that the plugin needs some additional work to make it play well with others.
Some other rule engine plugins depend on the "post" PEP to operate properly.
Questions?
Hard Links Resources: