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