irods / irods_client_nfsrods

An nfs4j Virtual File System implementation supporting the iRODS Data Grid
BSD 3-Clause "New" or "Revised" License
8 stars 9 forks source link

need to implement link(), used by WinSCP #57

Open trel opened 4 years ago

trel commented 4 years ago

When putting a file or overwriting a file via WinSCP...

From NFSRODS log:

2019-09-16 15:18:58.917 ERROR [NFSServerV41] - Unhandled exception:
java.lang.UnsupportedOperationException: Not supported
    at org.irods.nfsrods.vfs.IRODSVirtualFileSystem.link(IRODSVirtualFileSystem.java:789)
    at org.dcache.nfs.vfs.PseudoFs.link(PseudoFs.java:202)
    at org.dcache.nfs.v4.OperationLINK.process(OperationLINK.java:68)
    at org.dcache.nfs.v4.NFSServerV41.NFSPROC4_COMPOUND_4(NFSServerV41.java:204)

Might be possible via GenQuery to ask how many logical paths are pointing to the same physical path on the same resource... If > 1, then do something smart...

trel commented 4 years ago

To provide bidirectionality between hardlinked data objects... this is being addressed as a possible rule engine plugin that provides a set of PEPs to update metadata annotations on data objects marked as hardlinks of one another.

We plan to have an RFC soon and will discuss the approach at the next TWG meeting.

trel commented 4 years ago

This was captured in this RFC: https://github.com/irods/irods_rfcs/blob/master/0005_hard_links.md

And the first implementation is now here: https://github.com/irods/irods_rule_engine_plugin_hard_links

trel commented 4 years ago

Awaiting an update to Jargon so NFSRODS can target the specific rule engine plugin on the iRODS server.