This file is indexed.

/usr/share/gocode/src/github.com/hanwen/go-fuse/fuse/poll.go is in golang-github-hanwen-go-fuse-dev 0.0~git20171124.0.14c3015-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package fuse

// Go 1.9 introduces polling for file I/O. The implementation causes
// the runtime's epoll to take up the last GOMAXPROCS slot, and if
// that happens, we won't have any threads left to service FUSE's
// _OP_POLL request. Prevent this by forcing _OP_POLL to happen, so we
// can say ENOSYS and prevent further _OP_POLL requests.
const pollHackName = ".go-fuse-epoll-hack"
const pollHackInode = ^uint64(0)

func doPollHackLookup(ms *Server, req *request) {
	switch req.inHeader.Opcode {
	case _OP_CREATE:
		out := (*CreateOut)(req.outData())
		out.EntryOut = EntryOut{
			NodeId: pollHackInode,
			Attr: Attr{
				Ino:   pollHackInode,
				Mode:  S_IFREG | 0644,
				Nlink: 1,
			},
		}
		out.OpenOut = OpenOut{
			Fh: pollHackInode,
		}
		req.status = OK
	case _OP_LOOKUP:
		out := (*EntryOut)(req.outData())
		*out = EntryOut{}
		req.status = ENOENT
	default:
		req.status = EIO
	}
}