These release notes document the Alpha code drop of the SMB client module. The purpose of this document is to give you information about this distribution, its capabilities, and any known limitations and bugs. The release notes also provide instructions on installing and uninstalling the SMB client module, information about accessing the SMB client source files, reporting bugs, and making contributions to the code.
This document covers the following topics:
The alpha version of the SMB client module is a Solaris Virtual File System (VFS) that permits the Solaris OS to look up and read files on a Windows server or on a system that runs Samba. Such systems use the SMB/CIFS distributed file system protocol.
You can use the SMB client module to view available shares on a server and mount the shares on your system in a read-only fashion. Support for creating, deleting, and writing to files on an SMB server is planned for an upcoming release.
To view the available shares, use the smbutil view command:
% smbutil view //root@nanoTo mount a share, use the mount command as superuser:
# mount -F smbfs //root@nano/tmp /mntThis alpha release includes the following Solaris packages:
These packages are based on and have been tested with the OS/Net (ON) Nevada Build 68. The binaries in these packages are expected to run without issues starting with Build 63.
The SMB client team values your feedback and thanks you for using this alpha release of the SMB client software! If you encounter problems or issues that are not mentioned in the Known Limitations and Known Bugs sections, see the Reporting Bugs section.
The installable Solaris packages are in the smbfs-alpha1-20070719.*.tar file, which has the following directory structure:
packages/You can install and uninstall the SMB client packages by using the Solaris packaging tools:
To install the packages, type the following:
# pkgadd -d path-to-dir SUNWsmbfsr SUNWsmbfsupath-to-dir is the full path of the directory in which the packages are stored on your system.
To uninstall the packages, type the following:
# pkgrm SUNWsmbfsu SUNWsmbfsrThis alpha release also includes a tar file that contains the SMB client sources.
Download the smbfs-alpha1-src-20070719.tar file to your system and release the files from the tar archive with the following command:
# tar xvf smbfs-alpha1-src-20070719.tarIf you want to build the sources, you must have a working OpenSolaris source workspace set up and building.
To unpack and build the SMB client packages, do the following:
# ws path-to-workspaceThe following list shows the source locations for each of the SMB client modules:
smbutil - $SRC/cmd/fs.d/smbclnt/smbutil
mount - $SRC/cmd/fs.d/smbclnt/mount
libsmbfs.so - $SRC/lib/libsmbfs
nsmb driver - $SRC/uts/common/fs/smbclnt/netsmb
smbfs module - $SRC/uts/common/fs/smbclnt/smbfs
This is a read-only release, so files cannot be created, deleted, or changed in any way.
Mount operations can currently only be performed by superuser. A future release will enable regular users to mount SMB shares on directories that they own.
The SMB client does not currently parse SMB ACLs. As a result, the SMB client cannot display accurate file ownership information or support getfacl/setfacl.
The commonly used SMB protocol dialects do not support hard links (link(2)), symbolic links (symlink(2)), or device nodes (mknod(2)).
The SMB client does not support byte-range locking via the fcntl(2) system call over the wire. This means that locks acquired by a process on a client are only visible to other processes on that client.
While the mount_smbfs(1M) options (-o name=value) are not yet implemented, /usr/lib/fs/smbfs/mount does accept the original Darwin syntax for some of the options.
nsmbrc(4) settings are currently only read from the $HOME/.nsmbrc file, as the code to read them from the service management facility (SMF) is not yet integrated. sharectl(1M) has not yet been updated to get or set SMB client properties.
The nsmbrc(4) man page documents the charsets= settings, which have not yet been integrated.
smbutil(1)'s login, logout, and logoutall subcommands have not yet been integrated.
Following is the list of open bugs in the alpha SMB client:
| Bug ID | Priority | Synopsis |
| 6531907 | 3 | umount smbfs get busy |
| 6576025 | 3 | mount/umount much slower than before |
| 6536170 | 3 | "ls -a" on smbfs report duplicate "." and ".." dir |
| 6578022 | 3 | New smbutil auth failure |
| 6580666 | 3 | WARNING: des _init: crypto_register_provider() failed |
| 6569050 | 3 | authentication with user test_test_test:test_test_test f |
| 6543838 | 3 | can't get the correct file size when the file size is ch |
| 6573345 | 3 | first ls on smbfs failed(lots of files) |
| 6576004 | 3 | smbfs timeout on every functions |
| 6517401 | 3 | smbutil can't support the anonymous access |
| 6516267 | 3 | smbutil view gets unknown type |
| 6543822 | 3 | timeout value is too long for "smbutil view" |
For each problem you encounter, send the following information to help the team determine the root cause of the problem:
Describe the problem and describe what you were doing when you encountered the problem.
NOTE: Give as much information as you can to enable the team to reproduce the problem.
Describe your configuration.
For example, x data servers running on x machines.
Describe the bits you have installed.
For example, run the following command on all machines:
% cat /etc/motdIf the problem is a panic, include the stack trace and access to the core file.
If possible, a snoop or ethereal trace would be helpful in many cases, especially with issues unique to a particular server.
For example, run this command:
# snoop -o /tmp/bug1.snoop client-name server-nameSend the information in an email message to the smbfs dash discuss at opensolaris dot org alias.
The SMB client team will not provide patches or fixes to this distribution. However, any new bugs and issues will be logged into our tracking tool. These issues will be evaluated for inclusion in future releases.
If you would like to contribute to this project, contact the SMB client team at the smbfs dash discuss at opensolaris dot org alias.
The acceptance or rejection of code from a community member will follow this existing OpenSolaris process:
An internal SMB client project sponsor (sponsor) is assigned to an external contributor (contributor).
The sponsor reviews the changes from the contributor and determines whether to accept or reject them.
If the changes are accepted, the sponsor integrates the changes from the contributor into the SMB client project gate.
If the changes are rejected, the sponsor notifies the contributor that the changes have been rejected.