Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
34c044fa
Commit
34c044fa
authored
Jul 31, 2004
by
Steve French
Committed by
Steve French
Jul 31, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[CIFS] Update readme and todo lists for cifs vfs
Signed-off-by: Steve French (sfrench@us.ibm.com)
parent
d61981d1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
30 deletions
+51
-30
fs/cifs/README
fs/cifs/README
+32
-11
fs/cifs/TODO
fs/cifs/TODO
+19
-19
No files found.
fs/cifs/README
View file @
34c044fa
...
@@ -31,7 +31,7 @@ the cifs download to your kernel build directory e.g.
...
@@ -31,7 +31,7 @@ the cifs download to your kernel build directory e.g.
5) make dep
5) make dep
6) make modules (or "make" if CIFS VFS not to be built as a module)
6) make modules (or "make" if CIFS VFS not to be built as a module)
For Linux 2.
5
:
For Linux 2.
6
:
1) Download the kernel (e.g. from http://www.kernel.org or from bitkeeper
1) Download the kernel (e.g. from http://www.kernel.org or from bitkeeper
at bk://linux.bkbits.net/linux-2.5) and change directory into the top
at bk://linux.bkbits.net/linux-2.5) and change directory into the top
of the kernel directory tree (e.g. /usr/src/linux-2.5.73)
of the kernel directory tree (e.g. /usr/src/linux-2.5.73)
...
@@ -56,7 +56,7 @@ the CIFS VFS web site) copy it to the same directory in which mount.smbfs and
...
@@ -56,7 +56,7 @@ the CIFS VFS web site) copy it to the same directory in which mount.smbfs and
similar files reside (usually /sbin). Although the helper software is not
similar files reside (usually /sbin). Although the helper software is not
required, mount.cifs is recommended. Eventually the Samba 3.0 utility program
required, mount.cifs is recommended. Eventually the Samba 3.0 utility program
"net" may also be helpful since it may someday provide easier mount syntax for
"net" may also be helpful since it may someday provide easier mount syntax for
users who are used to Windows e.g. net use <mount point> <UNC name or cifs URL>
users who are used to Windows e.g. net use <mount point> <UNC name or cifs URL>
Note that running the Winbind pam/nss module (logon service) on all of your
Note that running the Winbind pam/nss module (logon service) on all of your
Linux clients is useful in mapping Uids and Gids consistently across the
Linux clients is useful in mapping Uids and Gids consistently across the
domain to the proper network user. The mount.cifs mount helper can be
domain to the proper network user. The mount.cifs mount helper can be
...
@@ -64,6 +64,17 @@ trivially built from Samba 3.0 or later source e.g. by executing:
...
@@ -64,6 +64,17 @@ trivially built from Samba 3.0 or later source e.g. by executing:
gcc samba/source/client/mount.cifs.c -o mount.cifs
gcc samba/source/client/mount.cifs.c -o mount.cifs
Allowing User Mounts
====================
To permit users to mount and unmount over directories they own is possible
with the cifs vfs. A way to enable such mounting is to mark the mount.cifs
utility as suid (e.g. "chmod +s /sbin/mount/cifs). To enable users to
umount shares they mount requires
1) mount.cifs version 1.4 or later
2) an entry for the share in /etc/fstab indicating that a user may
unmount it e.g.
//server/usersharename /mnt/username cifs user 0 0
Note that when the mount.cifs utility is run suid (allowing user mounts),
Note that when the mount.cifs utility is run suid (allowing user mounts),
in order to reduce risks, the "nosuid" mount flag is passed in on mount to
in order to reduce risks, the "nosuid" mount flag is passed in on mount to
disallow execution of an suid program mounted on the remote target.
disallow execution of an suid program mounted on the remote target.
...
@@ -99,21 +110,27 @@ Linux:
...
@@ -99,21 +110,27 @@ Linux:
delete readonly = yes
delete readonly = yes
ea support = yes
ea support = yes
Note that ea support is required for supporting Linux xattrs.
Note that server ea support is required for supporting xattrs from the Linux
Some administrators also change the "map archive" and the "create mask"
cifs client, and that EA support is present in later versions of Samba (e.g.
parameters from their default values. Creating special devices (mknod)
3.0.6 and later (also EA support works in all versions of Windows, at least to
shares on NTFS filesystems). Extended Attribute (xattr) support is an optional
feature of most Linux filesystems which may require enabling via
make menuconfig
Some administrators may want to change Samba's smb.conf "map archive" and
"create mask" parameters from the default. Creating special devices (mknod)
remotely may require specifying a mkdev function to Samba if you are not using
remotely may require specifying a mkdev function to Samba if you are not using
Samba 3.0.
5
or later. For more information on these see the manual pages
Samba 3.0.
6
or later. For more information on these see the manual pages
("man smb.conf") on the Samba server system. Note that the cifs vfs,
("man smb.conf") on the Samba server system. Note that the cifs vfs,
unlike the smbfs vfs, does not read the smb.conf on the client system
unlike the smbfs vfs, does not read the smb.conf on the client system
(the few optional settings are passed in on mount via -o parameters instead).
(the few optional settings are passed in on mount via -o parameters instead).
Note that Samba 2.2.7 or later includes a fix that allows the CIFS VFS to delete
Note that Samba 2.2.7 or later includes a fix that allows the CIFS VFS to delete
open files (required for strict POSIX compliance). Windows Servers already
open files (required for strict POSIX compliance). Windows Servers already
supported this feature. Samba server does not allow symlinks that refer to files
supported this feature. Samba server does not allow symlinks that refer to files
outside of the share, so in Samba versions prior to 3.0.
5
, most symlinks to
outside of the share, so in Samba versions prior to 3.0.
6
, most symlinks to
files with absolute paths (ie beginning with slash) such as:
files with absolute paths (ie beginning with slash) such as:
ln -s /mnt/foo bar
ln -s /mnt/foo bar
would be forbidden. Samba 3.0.
5
server or later includes the ability to create
would be forbidden. Samba 3.0.
6
server or later includes the ability to create
such symlinks safely by converting unsafe symlinks (ie symlinks to server
such symlinks safely by converting unsafe symlinks (ie symlinks to server
files that are outside of the share) to a samba specific format on the server
files that are outside of the share) to a samba specific format on the server
that is ignored by local server applications and non-cifs clients and that will
that is ignored by local server applications and non-cifs clients and that will
...
@@ -148,6 +165,12 @@ of the standard mount options "noexec" and "nosuid" to reduce the risk of
...
@@ -148,6 +165,12 @@ of the standard mount options "noexec" and "nosuid" to reduce the risk of
running an altered binary on your local system (downloaded from a hostile server
running an altered binary on your local system (downloaded from a hostile server
or altered by a hostile router).
or altered by a hostile router).
Although mounting using format corresponding to the CIFS URL specification is
not possible in mount.cifs yet, it is possible to use an alternate format
for the server and sharename (which is somewhat similar to NFS style mount
syntax) instead of the more widely used UNC format (i.e. \\server\share):
mount -t cifs tcp_name_of_server:share_name /mnt -o user=myname,pass=mypasswd
When using the mount helper mount.cifs, passwords may be specified via alternate
When using the mount helper mount.cifs, passwords may be specified via alternate
mechanisms, instead of specifying it after -o using the normal "pass=" syntax
mechanisms, instead of specifying it after -o using the normal "pass=" syntax
on the command line:
on the command line:
...
@@ -351,13 +374,11 @@ and for more extensive tracing including the start of smb requests and responses
...
@@ -351,13 +374,11 @@ and for more extensive tracing including the start of smb requests and responses
echo 1 > /proc/fs/cifs/traceSMB
echo 1 > /proc/fs/cifs/traceSMB
T
hree
other experimental features are under development and to test
T
wo
other experimental features are under development and to test
require enabling an ifdef (e.g. by adding "#define CIFS_FCNTL" in cifsglob.h)
require enabling an ifdef (e.g. by adding "#define CIFS_FCNTL" in cifsglob.h)
CONFIG_CIFS_QUOTA
CONFIG_CIFS_QUOTA
CONFIG_CIFS_XATTR
CONFIG_CIFS_FCNTL (fcntl needed for support of directory change
CONFIG_CIFS_FCNTL (fcntl needed for support of directory change
notification and perhaps later for file leases)
notification and perhaps later for file leases)
...
...
fs/cifs/TODO
View file @
34c044fa
version 1.
16 May 27, 2004
version 1.
22 July 30, 2004
A Partial List of Missing Features
A Partial List of Missing Features
==================================
==================================
...
@@ -10,7 +10,8 @@ is a partial list of the known problems and missing features:
...
@@ -10,7 +10,8 @@ is a partial list of the known problems and missing features:
a) Support for SecurityDescriptors for chmod/chgrp/chown so
a) Support for SecurityDescriptors for chmod/chgrp/chown so
these can be supported for Windows servers
these can be supported for Windows servers
b) Better pam/winbind integration
b) Better pam/winbind integration (e.g. to handle uid mapping
better)
c) multi-user mounts - multiplexed sessionsetups over single vc
c) multi-user mounts - multiplexed sessionsetups over single vc
(ie tcp session) - prettying up needed
(ie tcp session) - prettying up needed
...
@@ -32,42 +33,37 @@ style byte range lock differences
...
@@ -32,42 +33,37 @@ style byte range lock differences
h) quota support
h) quota support
i) support for the Linux 2.5 kernel new feature get_xattr and set_xattr
j) finish writepages support (multi-page write behind for improved
which will allow us to expose dos attributes as well as real
ACLs. This support has been started in the current code, but is
ifdeffed out.
k) finish writepages support (multi-page write behind for improved
performance) and syncpage
performance) and syncpage
l
) hook lower into the sockets api (as NFS/SunRPC does) to avoid the
k
) hook lower into the sockets api (as NFS/SunRPC does) to avoid the
extra copy in/out of the socket buffers in some cases.
extra copy in/out of the socket buffers in some cases.
m
) finish support for IPv6. This is mostly complete but
l
) finish support for IPv6. This is mostly complete but
needs a simple inet_pton like function to convert ipv6
needs a simple inet_pton like function to convert ipv6
addresses in string representation.
addresses in string representation.
o
) Better optimize open (and pathbased setfilesize) to reduce the
m
) Better optimize open (and pathbased setfilesize) to reduce the
oplock breaks coming from windows srv. Piggyback identical file
oplock breaks coming from windows srv. Piggyback identical file
opens on top of each other by incrementing reference count rather
opens on top of each other by incrementing reference count rather
than resending (helps reduce server resource utilization and avoid
than resending (helps reduce server resource utilization and avoid
spurious oplock breaks).
spurious oplock breaks).
p
) Improve performance of readpages by sending more than one read
o
) Improve performance of readpages by sending more than one read
at a time when 8 pages or more are requested. Evaluate whether
at a time when 8 pages or more are requested. Evaluate whether
reads larger than 16K would be helpful.
reads larger than 16K would be helpful.
q
) For support of Windows9x/98 we need to retry failed mounts
p
) For support of Windows9x/98 we need to retry failed mounts
to *SMBSERVER (default server name) with the uppercase hostname
to *SMBSERVER (default server name) with the uppercase hostname
in the RFC1001 session_init request.
in the RFC1001 session_init request.
r) Add Extended Attributed support (for storing UID/GID info
q) Add support for storing symlink and fifo info to Windows servers
to Windows servers)
in the Extended Attribute format their SFU clients would recognize.
s
) Finish fcntl D_NOTIFY support so kde and gnome file list windows
r
) Finish fcntl D_NOTIFY support so kde and gnome file list windows
will autorefresh
will autorefresh
t
) Add GUI tool to configure /proc/fs/cifs settings and for display of
s
) Add GUI tool to configure /proc/fs/cifs settings and for display of
the CIFS statistics
the CIFS statistics
KNOWN BUGS (updated May 27, 2004)
KNOWN BUGS (updated May 27, 2004)
...
@@ -87,11 +83,14 @@ Samba (may be unmappable due to POSIX to Windows lock model
...
@@ -87,11 +83,14 @@ Samba (may be unmappable due to POSIX to Windows lock model
differences but worth investigating). Also debug Samba to
differences but worth investigating). Also debug Samba to
see why lock test case 7 takes longer to complete to Samba
see why lock test case 7 takes longer to complete to Samba
than to Windows.
than to Windows.
5) implement search rewind (seeking backward in a readdir), which is
necessary for one of the "special" subsection of posix file API
tests in the Connectathon nfs test suite.
Misc testing to do
Misc testing to do
==================
==================
1) check out max path names and max path name components against various server
1) check out max path names and max path name components against various server
types. Try nested symlinks. Return max path name in stat -f information
types. Try nested symlinks
(8 deep)
. Return max path name in stat -f information
2) Modify file portion of ltp so it can run against a mounted network
2) Modify file portion of ltp so it can run against a mounted network
share and run it against cifs vfs.
share and run it against cifs vfs.
...
@@ -102,5 +101,6 @@ and when signing is disabled to request larger read sizes (larger than
...
@@ -102,5 +101,6 @@ and when signing is disabled to request larger read sizes (larger than
negotiated size) and send larger write sizes to modern servers.
negotiated size) and send larger write sizes to modern servers.
4) More exhaustively test the recently added NT4 support against various
4) More exhaustively test the recently added NT4 support against various
NT4 service pack levels.
NT4 service pack levels, and fix cifs_setattr for setting file times and
size to fall back to level 1 when error invalid level returned.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment