This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: 5 seconds to update link info? (cause found)
- From: Andrey Repin <anrdaemon at yandex dot ru>
- To: L A Walsh <cygwin at tlinx dot org>, cygwin at cygwin dot com
- Date: Mon, 29 May 2017 22:46:30 +0300
- Subject: Re: 5 seconds to update link info? (cause found)
- Authentication-results: sourceware.org; auth=none
- Authentication-results: smtp1o.mail.yandex.net; dkim=pass header.i=@yandex.ru
- References: <9810467454.20170520003732@yandex.ru> <592BE84A.6040400@tlinx.org>
- Reply-to: cygwin at cygwin dot com
Greetings, L A Walsh!
> Andrey Repin wrote:
>> When executed this oneliner over Samba 4.3 network share, it takes 5 seconds
>> to match the newly created hardlink.
>> I'm wondering if this is Cygwin, Samba or Windows networking issue?
>>
> ====
> BTW -- found the cause of this:
> Under:
> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters
> There are 3 values to control cache lifetime.
> FileInfoCacheLifetime (default 10 seconds)
> FileNotFoundCacheLifetime (default 5 seconds)
> DirectoryCacheLifetime (default 10 seconds)
> The FileNotFoundCacheLifetime looks to be the culprit -- since
> when I traced the ethernet traffic with wireshark, I would see
> multiple responses of 'notfound' before it finally showed up.
> I reset my 5-second value to 3, and your script passed over
> its value in 3 seconds after that...
> You might have to reboot your machine to ensure the value gets
> propegated to the LANmanworkstation client.
> There are other ways, but none that reliable.
Thank you for this discovery. In the end, I've settled on a little wrapper.
waitlink() {
(
set -e
ln "$1" "$2"
for i in . . . . . . . . . .; do
[ "$1" -ef "$2" ] && break
sleep 1
done
)
}
since the execution time of the script is not mission-critical, I decided to
not alter the system settings.
--
With best regards,
Andrey Repin
Monday, May 29, 2017 22:23:30
Sorry for my terrible english...
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple