func (f *Fs) Name() string {
	return "smbfs"
}
The name of this FileSystem
package smb
import (
	"net"
	"os"
	"github.com/hirochachacha/go-smb2"
	"github.com/spf13/afero"
)
type Config struct {
	Host     string
	User     string
	Password string
	Mount    string
}
type Fs struct {
	config Config
	conn   net.Conn
	sess   *smb2.Session
	*smb2.Share
}
func New(config *Config) (afero.Fs, error) {
	conn, err := net.Dial("tcp", config.Host)
	if err != nil {
		return nil, err
	}
	d := &smb2.Dialer{
		Initiator: &smb2.NTLMInitiator{
			User:     config.User,
			Password: config.Password,
		},
	}
	sess, err := d.Dial(conn)
	if err != nil {
		return nil, err
	}
	share, err := sess.Mount(config.Mount)
	if err != nil {
		return nil, err
	}
	return &Fs{
		config: *config,
		sess:   sess,
		conn:   conn,
		Share:  share,
	}, nil
}
func (f *Fs) Close() {
	f.sess.Logoff()
	f.conn.Close()
}
func (f *Fs) Create(name string) (afero.File, error) {
	return f.Share.Create(name)
}
func (f *Fs) Open(name string) (afero.File, error) {
	return f.Share.Open(name)
}
func (f *Fs) OpenFile(name string, flag int, perm os.FileMode) (afero.File, error) {
	return f.Share.OpenFile(name, flag, perm)
}