summaryrefslogtreecommitdiffhomepage
path: root/pkg/p9/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/p9/server.go')
-rw-r--r--pkg/p9/server.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/pkg/p9/server.go b/pkg/p9/server.go
index 241ab44ef..e7d129f9d 100644
--- a/pkg/p9/server.go
+++ b/pkg/p9/server.go
@@ -19,7 +19,7 @@ import (
"runtime/debug"
"sync/atomic"
- "gvisor.dev/gvisor/pkg/abi/linux/errno"
+ "golang.org/x/sys/unix"
"gvisor.dev/gvisor/pkg/errors/linuxerr"
"gvisor.dev/gvisor/pkg/fd"
"gvisor.dev/gvisor/pkg/fdchannel"
@@ -34,6 +34,8 @@ type Server struct {
// attacher provides the attach function.
attacher Attacher
+ options AttacherOptions
+
// pathTree is the full set of paths opened on this server.
//
// These may be across different connections, but rename operations
@@ -48,10 +50,15 @@ type Server struct {
renameMu sync.RWMutex
}
-// NewServer returns a new server.
+// NewServer returns a new server. attacher may be nil.
func NewServer(attacher Attacher) *Server {
+ opts := AttacherOptions{}
+ if attacher != nil {
+ opts = attacher.ServerOptions()
+ }
return &Server{
attacher: attacher,
+ options: opts,
pathTree: newPathNode(),
}
}
@@ -510,7 +517,7 @@ func (cs *connState) handle(m message) (r message) {
// It will be removed a followup, when all the unix.Errno errors are
// replaced with linuxerr.
if rlError, ok := r.(*Rlerror); ok {
- e := linuxerr.ErrorFromErrno(errno.Errno(rlError.Error))
+ e := linuxerr.ErrorFromUnix(unix.Errno(rlError.Error))
r = newErrFromLinuxerr(e)
}
} else {