X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:reply-to:message-id:to:subject
	:in-reply-to:references:mime-version:content-type
	:content-transfer-encoding; q=dns; s=default; b=XbnaHKv6ywabfTF7
	kBDqj2uHfJ80mxf5NnY9eVFgML/PlU+4l63mUp9r+8lb7sqHXykKMAmVGP1Z9oMI
	JwiW/+sxXYWNKolD53L58ZaVUD5aglwH3S77V0e34tspougnmtNgIGPcrEq2LPjv
	0rv2/7xEfv2CKLw9U/vV6wC6/FY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:date:from:reply-to:message-id:to:subject
	:in-reply-to:references:mime-version:content-type
	:content-transfer-encoding; s=default; bh=IxEf2w1ZD/HA3BB2MROdWx
	M/dDo=; b=VdnEwTfXffRuFWhuKVioW9MVn3EZ0gwWDWkxflFjRCTDUGEmY2H67k
	5DUogyn3vIllBSFDcIXh54XiqnduUhMlnK7RBsn6aAvRMVMvgvbLypS6amSFcoz2
	GA/f44bmPsji0uLF3ofuBiGuFchbzyH+E/Ap+sDACqpMjUWKM6DUI=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=BAYES_00,FREEMAIL_FROM,KAM_THEBAT,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 spammy=H*F:D*yandex.ru, H*M:yandex, settled, HX-Priority:Normal
X-HELO: forward2m.cmail.yandex.net
Authentication-Results: smtp1o.mail.yandex.net; dkim=pass header.i=@yandex.ru
X-Yandex-Suid-Status: 1 0,1 0
Date: Mon, 29 May 2017 22:46:30 +0300
From: Andrey Repin <anrdaemon@yandex.ru>
Reply-To: cygwin@cygwin.com
Message-ID: <214223429.20170529224630@yandex.ru>
To: L A Walsh <cygwin@tlinx.org>, cygwin@cygwin.com
Subject: Re: 5 seconds to update link info? (cause found)
In-Reply-To: <592BE84A.6040400@tlinx.org>
References: <9810467454.20170520003732@yandex.ru> <592BE84A.6040400@tlinx.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes

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

