www.virtualacorn.co.uk/forum

For support and advice on VirtualAcorn products
Forums now closed. This is an HTML only record of the content.
HTML version of Forum generated Thursday 24th May 2018

All times are UTC [ DST ]




Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: Hibernation and ShareFS directory caching
PostPosted: Sat Jun 21, 2008 6:12 am 
Offline

Joined: Thu Nov 28, 2002 7:08 pm
Posts: 69
Location: Cambridge
On several occasions recently I've spent some time wondering why I could not find certain files when viewing a remote computer using ShareFS. The reason turned out to be that one of the computers had been hibernated and brought back out of hibernation. Subsequent attempts to view the other computer's ShareFS mounts resulted in seeing a OLD directory lising. Retrieving files from it resulted in geting OLD versions of them.
After a VRPC reboot on the computer that had been hibernated everything was back to normal and the ShareFS mounts showed the current directory listing.
It does not seem to matter how long you wait, the remote directory listing seems to be cached without being updated unless a write operation is performed. This is dangerous when using DirSync to synchronize file structures between two VRPCs over ShareFS because the newer files can be overwritten with older ones.
Would anyone care to comment on this (perhaps explain the underlying mechanism) and is there a posible 'bug' fix for this?


Top
 Profile  
 
 Post subject: Re: Hibernation and ShareFS directory caching
PostPosted: Sat Jun 21, 2008 9:25 am 
Offline
Site Admin

Joined: Wed Oct 23, 2002 12:16 pm
Posts: 958
I suspect that this is a problem with RISC OS (rather than VirtualAcorn itself). RISC OS has never really been designed to 'hibernate' as there has never been a RISC OS machine that can do it properly. When we were working on the original VRPC we needed some changes to be made to RISC OS to support power management. Code was present in the RISC OS source tree, but dated back to RISC OS 3.1 and the A4, and hadn't been touched since.

From memory (and I could be wrong), ShareFS caches remote directories locally. So when you want to see a remote folder on a local machine a cached version is displayed, unless the remote machine has broadcast a change. What would probably solve the problem (temporarily) would be to stop ShareFS caching the directory structures and for the local machine to ask for the contents of each folder from the remote machine every time a folder was opened.

If the remote folder is already open locally and it's contents change then ShareFS *should* update the local filer window, but often doesn't (I've seen this between two real RiscPCs). If you have RISC OS 6 then what happens if you 'Refresh' the ShareFS filer window from the filer menu?


Top
 Profile  
 
 Post subject: Re: Hibernation and ShareFS directory caching
PostPosted: Mon Jul 14, 2008 2:54 pm 
Offline

Joined: Wed Oct 23, 2002 10:37 pm
Posts: 64
I believe ShareFS relies on the fileswitch directory change notification mechanism. That is whenever a directory is modified, interested parties are told of the change. In the ShareFS case it then broadcasts the change to clients so they can update their view.

HostFS does not generate this change notification so ShareFS view get stale (Try sharing an ADFS disk image and see if it works properly). This is a deficiency of HostFS that probably won't get addressed any time soon, sorry.


Top
 Profile  
 
 
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

   
Forums originally Powered by phpBB © 2007 phpBB Group. Contents © 3QD Developments Ltd 2018 version no. 1.07