I got a simple setup with NFSrods exposing an iRods resource on a local network.
When reading a file on the client mounting the network share, i got the following :
$ cat /mnt/SHARE/FBIOMEROv2/Figure5/Figure5B/ome.xml
[...]
</MapAnnotation>
<MapAnnotation ID="Annotation:1028667460" Namespace="quay">
<Value>
<M K="quay_id">img_3b1e79ea-ae88-11f0-8303-fa163ea9274a</M>
</Value>
</MapAnnotation>
<MapAnnotation ID="Annotation:1004525017" Namespace="quay">
<Value/>
</MapAnnotation>
</Structcat: /mnt/SHARE/FBIOMEROv2/Figure5/Figure5B/ome.xml: Input/output error
I got the same error copying the file, and i still got it even after restarting the NFSrods docker container and / or remounting the mount on the client.
If i iget the file directly from iRods, the file can be read entirely. It is not corrupted.
The file is a 169 line long XML file.
The nfsrods config file :
$ cat nfsrods_config/server.json
{
"nfs_server": {
"port": 2049,
"irods_mount_point": "/devZone",
"user_access_refresh_time_in_milliseconds": 1000,
"user_information_refresh_time_in_milliseconds": 1000,
"user_type_refresh_time_in_milliseconds": 1000,
"user_permissions_refresh_time_in_milliseconds": 1000,
"file_information_refresh_time_in_milliseconds": 1000,
"object_type_refresh_time_in_milliseconds": 1000,
"list_operation_query_results_refresh_time_in_milliseconds": 1000,
"using_oracle_database": false
},
"irods_client": {
"zone": "devZone",
"host": "nte-irods-icat",
"port": 1247,
"default_resource": "nteuserResc",
"ssl_negotiation_policy": "CS_NEG_REFUSE",
"proxy_admin_account": {
"username": "********",
"password": "********"
}
}
}
$ cat nfsrods_config/exports
/ *(rw,acl,no_root_squash)
The client fstab :
10.XXX.XXX.XXX:/home /mnt/SHARE nfs noac,lookupcache=none 0 0
EDIT :
I tested this deeper and i broke down our workflow to the following test :
- Generate a long file containing random strings, with a random line count (
while true; do echo $RANDOM >> /mnt/coop/home/FBIOMEROv2/file.txt; done)
ireg -rf the folder containing the file in iRods
At this point there is no problem in NFSrods, the file can be normally read. The problem occur when you run the test again :
- Remove the file from the server
- Generate a long file containing random strings, with a random line count (
while true; do echo $RANDOM >> /mnt/coop/home/FBIOMEROv2/file.txt; done)
ireg -rf the folder containing the new file in iRods
Now the error on NFSrods is not always the same. I got to corrupt some files doing that, but sometimes the file stops before the end without an Input/output error, and sometimes the changes are juste not reflected on NFSrods, the first file appears on the client.
I got a simple setup with NFSrods exposing an iRods resource on a local network.
When reading a file on the client mounting the network share, i got the following :
I got the same error copying the file, and i still got it even after restarting the NFSrods docker container and / or remounting the mount on the client.
If i
igetthe file directly from iRods, the file can be read entirely. It is not corrupted.The file is a 169 line long XML file.
The nfsrods config file :
The client fstab :
EDIT :
I tested this deeper and i broke down our workflow to the following test :
while true; do echo $RANDOM >> /mnt/coop/home/FBIOMEROv2/file.txt; done)ireg -rfthe folder containing the file in iRodsAt this point there is no problem in NFSrods, the file can be normally read. The problem occur when you run the test again :
while true; do echo $RANDOM >> /mnt/coop/home/FBIOMEROv2/file.txt; done)ireg -rfthe folder containing the new file in iRodsNow the error on NFSrods is not always the same. I got to corrupt some files doing that, but sometimes the file stops before the end without an Input/output error, and sometimes the changes are juste not reflected on NFSrods, the first file appears on the client.