chattr makes cygport slow

Jon Turney jon.turney@dronecode.org.uk
Sat Jul 8 12:19:51 GMT 2023


On 06/07/2023 17:18, Brian Inglis via Cygwin-apps wrote:
> On 2023-07-06 06:19, Andrew Schulman via Cygwin-apps wrote:
>> Recently I noticed that `cygport finish` has become really slow on 
>> some of my
>> package source trees. After I run for example
>>
>> cygport libargp.cygport finish
>>
>> it waits for about 5 minutes without any message to the console, 
>> before the
>> first "Removing work directory" message appears.
>>
>> pstree shows that during this time cygport is waiting for chattr. In
>> /usr/bin/cygport I see:
>>
>> if [ $OSTYPE = "cygwin" ]
>> then
>>      chattr -fR +C ${workdir} >/dev/null 2>&1 || true
>> fi
>>
>> which is trying to make the workdir case-sensitive.
>>
>> Whatever the advantages of that are, it can take a long time. Would it be
>> possible to skip it at least in the case of "finish"? It seems silly 
>> to spend
>> all that time fixing up a directory tree that we then turn around and 
>> remove
>> with rm -rf.
> 
> The attribute does not appear to be inheritable, so will not be applied 
> to subdirectories created by make, or in cygport xargs commands, unless 
> supported in cygwin1.dll, perhaps why it is open coded in cygport?

I believe that might have been the case in some previews, but it does 
inherit now. Otherwise it's almost completely, unusably useless.



More information about the Cygwin-apps mailing list