24 lines
656 B
Go
24 lines
656 B
Go
package nfs
|
|
|
|
import (
|
|
"git.kmsign.ru/royalcat/tstor/src/host/vfs"
|
|
"git.kmsign.ru/royalcat/tstor/src/log"
|
|
zlog "github.com/rs/zerolog/log"
|
|
nfs "github.com/willscott/go-nfs"
|
|
nfshelper "github.com/willscott/go-nfs/helpers"
|
|
)
|
|
|
|
func NewNFSv3Handler(fs vfs.Filesystem) (nfs.Handler, error) {
|
|
nfslog := zlog.Logger.With().Str("component", "nfs").Logger()
|
|
nfs.SetLogger(log.NewNFSLog(nfslog))
|
|
nfs.Log.SetLevel(nfs.InfoLevel)
|
|
|
|
bfs := &billyFsWrapper{fs: fs, log: nfslog}
|
|
handler := nfshelper.NewNullAuthHandler(bfs)
|
|
|
|
cacheHelper := nfshelper.NewCachingHandler(handler, 1024*16)
|
|
|
|
// cacheHelper := NewCachingHandler(handler)
|
|
|
|
return cacheHelper, nil
|
|
}
|