Subject: Re: [PATCH 2/2] optimize set_shared_perm()

From: Torsten Bögershausen <[email-masked]>
Date: Sat, 30 Mar 2013 10:53:16 +0100

On 29.03.13 22:20, Junio C Hamano wrote:
[snip]
> The last two points can become a separate "preparation" step.  The
> result would be easier to read.
> 
> Your updated adjust_shared_perm() does not begin with:
> 
> 	if (!shared_repository)
>         	return 0;
> 
> as the original, but it always first calls to get_st_mode_bits()
> which makes a call to lstat(2).
> 
> That smells like a huge regression for !shared_repository case,
> unless you have updated the existing callers of adjust_shared_perm()
> not to call it when !shared_repository.
> 
Thanks for carefull review:
The achieved effect of the code is the same,
but the developer is to blame.

I send a new patch of 2/2 in a minute, splitted into 2 commits.

Highlights of part 2:
a) move "if (!shared_repository)" to the right place
b) Simplify calc_shared_perm() even more: Remove the variable "int shared"
c) Remove calc_shared_perm_dir(), the functionality is baked into
   adjust_shared_perm()