link, rm and truncate semantics all working