Demi Marie Obenour writes: > Don't call it if the target directory already exists. > > Signed-off-by: Demi Marie Obenour > --- > 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