From a0cf021be5828f8726380f8fd10070eff30852ba Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Wed, 26 Oct 2016 18:03:32 +0200 Subject: [PATCH] os: consider only files from #M as regular on Plan 9 TestRemoveDevNull was added in CL 31657. However, this test was failing on Plan 9, because /dev/null was considered as a regular file. On Plan 9, there is no special mode to distinguish between device files and regular files. However, files are served by different servers. For example, /dev/null is served by #c (devcons), while /bin/cat is served by #M (devmnt). We chose to consider only the files served by #M as regular files. All files served by different servers will be considered as device files. Fixes #17598. Change-Id: Ibb1c3357d742cf2a7de15fc78c9e436dc31982bb Reviewed-on: https://go-review.googlesource.com/32152 Reviewed-by: Russ Cox Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot --- src/os/stat_plan9.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/os/stat_plan9.go b/src/os/stat_plan9.go index 1ae165807f..274d0d86f3 100644 --- a/src/os/stat_plan9.go +++ b/src/os/stat_plan9.go @@ -31,6 +31,10 @@ func fileInfoFromStat(d *syscall.Dir) FileInfo { if d.Mode&syscall.DMTMP != 0 { fs.mode |= ModeTemporary } + // Consider all files not served by #M as device files. + if d.Type != 'M' { + fs.mode |= ModeDevice + } return fs }