Re: [PATCH 3/3] scripts/make-erofs.sh: Avoid unneeded calls to mkdir

Alyssa Ross
2025-09-21T18:36:49Z

[-- Attachment #1: Type: text/plain, Size: 1106 bytes --]

Demi Marie Obenour <demiobenour@gmail.com> writes:

> Don't call it if the target directory already exists.
>
> Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
> ---
> scripts/make-erofs.sh | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/make-erofs.sh b/scripts/make-erofs.sh
> index ac62a65f53e0b6417b164f475a537960fc5203bc..30b83b0b41cbe7bc4fd7786cfcdddcf10c78cc5a 100755
> --- a/scripts/make-erofs.sh
> +++ b/scripts/make-erofs.sh
> @@ -44,10 +44,15 @@ while read -r arg1; do
> # a subset of all paths, but this subset includes all of
> # the ones passed in practice other than /.
> case $arg2 in
> - (*/*) parent=${arg2%/*};;
> - (*) parent=.;;
> + (*/*)
> + # Make the parent directory if needed
> + parent=$root/${arg2%/*}
> + if [ ! -d "$parent" ]; then mkdir -p -- "$parent"; fi
> + ;;
> + (*)
> + # Parent $root which definitely exists
> + ;;
> esac
> - mkdir -p -- "$root/$parent"
> cp -RT -- "$arg1" "$root/$arg2"
> done

I saw a statistically significant speedup in hyperfine. :)

Reviewed-by: Alyssa Ross <hi@alyssa.is>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]