From: Ian Lance Taylor Date: Tue, 12 Feb 2019 18:20:28 +0000 (-0800) Subject: [release-branch.go1.12] os: don't return ENOENT if directory removed before Fstatat X-Git-Tag: go1.12~16 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=fa5e4baf876d000051a2b606356a688250e2ba6e;p=gostls13.git [release-branch.go1.12] os: don't return ENOENT if directory removed before Fstatat Updates #30197 Change-Id: I08b592fbd477d6879eb5d3b7fcbbc8322ea90103 Reviewed-on: https://go-review.googlesource.com/c/162078 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick (cherry picked from commit cf4dc25503e6fb630280f8de0f11112aecb94b57) Reviewed-on: https://go-review.googlesource.com/c/162197 --- diff --git a/src/os/removeall_at.go b/src/os/removeall_at.go index 7f2d5922ae..0b7d5efb7a 100644 --- a/src/os/removeall_at.go +++ b/src/os/removeall_at.go @@ -71,6 +71,9 @@ func removeAllFrom(parent *File, path string) error { var statInfo syscall.Stat_t statErr := unix.Fstatat(parentFd, path, &statInfo, unix.AT_SYMLINK_NOFOLLOW) if statErr != nil { + if IsNotExist(statErr) { + return nil + } return statErr } if statInfo.Mode&syscall.S_IFMT != syscall.S_IFDIR {