Custom location for sync.ffs_lock

Discuss new features and functions

Anonymous

Creating and deleting the file sync.ffs_lock in the folder's root imposes
folder's rights that are not compliant to my use.

Is it possible to
1) specify another place for this file ? ex : ./Data
or
2) modify the file but never deleted ? ex 201102061154160612##julien23

Thanks a lot for the work done so far

Julien
User avatar
Site Admin
Posts: 7051
Joined: 9 Dec 2007

Zenju

> folder's root imposes folder's rights that are not compliant to my use.
What exactly is the issue here?

> Is it possible to 1)
Wouldn't make much sense to store the lock file in any other place: the file
needs to be found by any FFS instance no matter how it is configured.

Anonymous

> What exactly is the issue here?
> the file needs to be found by any FFS instance no matter how it is
configured.

I use FFS bundled with OpenVPN to keep Project synced along my customers,
supplier, and ourselves in a DropBox fashion +NoSizeLimit +RightManagement
+....

Project's folder tree goes like this :

751 Project/
771 index.html ( tiddlywiki )
771 index.lck ( index locker, contains date##user if index.html is in edit
mode )
660 sync.ffs_db ( you know this one )
551 Data/ ( FFS inside ! )
751 User1/ ( development files : cad, office, ... )
751 User2/

Thus I had to change
751 Project/
to
771 Project/
to allow creating and deleting the file sync.ffs_lock for all users

A persistent 660 sync.ffs_lock with the info inside would fit me better

Thanks

Julien
User avatar
Site Admin
Posts: 7051
Joined: 9 Dec 2007

Zenju

I see. However the whole functionality of directory locking is based on
creating and deleting a lock file. This is the only portable mechanism that
can be used as a building block to construct a mutex. Thererefore a persistent
locking file won't do. The two solutions I see right now are 1. grant write
access to group or 2. sync against a subfolder that contains a symbolic link
to "project".

Anonymous

thanks for answers

I don't understand the " mutex " thing but I trust you

> 1. grant write access to group
is what I am doing ... at my own risks !!!

> 2. sync against a subfolder that contains a symbolic link to "project"
Which would add an extra stage to customers' machine folder tree?

Find her below the complete folder tree to fully understand the usage :

751 Project/
551 Step1_VpnConnexion.exe ( connect to the agency with OpenVPN )
551 Step2_Synchronisation.exe ( RealTimeSync )
551 Step3_EndOfWork.bat ( stop syncing and close the connection )
771 index.html ( tiddlywiki with relative links to files stored in following
user's folders )
771 index.lck ( index locker, contains date##user if index.html is in edit
mode )
660 sync.ffs_db ( you know this one )
551 Data/ ( OpenVPN + FFS inside ! )
751 User1/ ( development files : cad, office, ... )
751 User2/ ...
User avatar
Site Admin
Posts: 7051
Joined: 9 Dec 2007

Zenju

>add an extra stage to customers' machine folder tree?
Yes. However this is only an option when using Linux or Windows Vista upwards.
The symbolic links creates another level of indirection while the lock file
would be saved in a subdirectory. Besides this the only reasonalbe solution is
probably to abandon directory locking. FFS won't complain about failed
attempts to create the lock file.
Posts: 2
Joined: 23 Jul 2011

eljeffe991

I have a similar problem. I am trying to set up multiple users to mirror from
a network location to USB thumb drive. Everything is working great except that
I have to grant users write access to the folder for the lock file. What I
don't understand is why the lock file is required in the network folder when
using mirror from that location as the method? No files will ever be changed
by FFS in that location. It is also preventing multiple instances from running
at the same time, which again should be allowed if using the mirror method.

Scott
User avatar
Site Admin
Posts: 7051
Joined: 9 Dec 2007

Zenju

>I have to grant users write access to the folder for the lock file
Why is that, FFS shouldn't show any errors due to failure to create the lock
file?

>why the lock file is required in the network folder
It's required for synchronization scenarios where multiple computers (or
instances of FFS in particular) which are distributed over a network access
the same data source. E.g. some FFS batch jobs may run automatically at
specific times or repeatedly. This is a fundamental problem and unrelated to
whether you only read or read and write from a data source.
Posts: 2
Joined: 23 Jul 2011

eljeffe991

> >I have to grant users write access to the folder for the lock file
Why is that, FFS shouldn't show any errors due to failure to create the lock
file?



I am actually getting an error for the lock file:



[4:13:35 PM] Warning: Error setting directory lock:
"\\servername\path\sync.ffs_lock"
Windows Error Code 5: Access is denied.



The account used to run FFS has read only permissions to the share and I am
attempting to mirror from it to a USB drive. Perhaps I am doing something
wrong?
User avatar
Site Admin
Posts: 7051
Joined: 9 Dec 2007

Zenju

>I am actually getting an error for the lock file:
But it's only in the log, right? There shouldn't be any popup that stops
progress in any way. So in case you don't need the locking behavior because
you know that never two instances of FFS will read and write to the same
location, you can safely ignore this warning.
Posts: 9
Joined: 30 Jan 2020

bhendin

> folder's root imposes folder's rights that are not compliant to my use.
What exactly is the issue here?

> Is it possible to 1)
Wouldn't make much sense to store the lock file in any other place: the file
needs to be found by any FFS instance no matter how it is configured. Zenju, 07 Feb 2011, 17:28
I'm reviving this long dormant thread to bring up another case use of this issue which I can see no great workaround for:

DFS

I get the following on my copies between my DFS data and backup locations:

10:47:58 AM Warning Cannot set directory locks for the following folders:
"\\mediabase\data\media\video\education"
Cannot write file "\\mediabase\data\media\video\education\sync.ffs_lock".
Error Code 5: Access is denied. [CreateFile]

Because of the nature of DFS, some folders may not map to actual targets.
In this case, nothing can be created in "education" because education is a DFS folder with no target (whose purpose is simply organizational).
I am going on the assumption that you understand/have some experience with DFS and understand these issues. If not, please let me know and I will try to be more descriptive.

However, in short, while I understand your statement above that the file needs to be found by any FFS instance, that wouldn't preclude having a custom location option. After all, if it won't work in any other way, then providing a way for it to work is better than not at all - even if it means you need to ensure your FFS instance is properly configured with the custom location.

Your workaround of "sync against a subfolder" would work, but it would also create a tedious amount of work. For instance, under "\video\education" there may be two dozen DFS targets that I want to copy. with your method instead of being able to specify simply one parent path, I would need to set up 24. And this would have to duplicate with every branch of DFS that works in this way.

Have you looked into DFS support before? Is it something you would consider?

thanks!
User avatar
Posts: 2278
Joined: 22 Aug 2012

Plerry

I don't know the specifics of DFS related aspects.
But if using \\mediabase\data\media\video\education\ as your (left or right) root folder is a problem, how about defining \\mediabase\data\media\video\ as your root folder, and use an Include Filter of \education\* (everything in \education\) instead of the standard Include Filter * (everything).
Obviously, your other side's root folder then also needs to be selected one folder level higher.
Posts: 9
Joined: 30 Jan 2020

bhendin

I don't know the specifics of DFS related aspects.
But if using \\mediabase\data\media\video\education\ as your (left or right) root folder is a problem, how about defining \\mediabase\data\media\video\ as your root folder, and use an Include Filter of \education\* (everything in \education\) instead of the standard Include Filter * (everything).
Obviously, your other side's root folder then also needs to be selected one folder level higher. Plerry, 20 Apr 2020, 10:48
Because video is also not a DFS target folder. Basically only the end of a tree branch is an actual target, which means, as I stated, I would need to create an entry for every single individual end folder, which is not really manageable.