1
0
mirror of https://github.com/golang/go synced 2024-11-23 20:10:08 -07:00

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 <rsc@golang.org>
Run-TryBot: David du Colombier <0intro@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
David du Colombier 2016-10-26 18:03:32 +02:00
parent 49543695c5
commit a0cf021be5

View File

@ -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
}