diff options
-rw-r--r-- | fs/Kconfig | 40 | ||||
-rw-r--r-- | fs/cifs/cifsproto.h | 2 | ||||
-rw-r--r-- | fs/cifs/cifssmb.c | 2 | ||||
-rw-r--r-- | fs/cifs/inode.c | 2 |
4 files changed, 32 insertions, 14 deletions
diff --git a/fs/Kconfig b/fs/Kconfig index c9c4108469c3..8855fd41cfa8 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -1587,9 +1587,10 @@ config CIFS | |||
1587 | PC operating systems. The CIFS protocol is fully supported by | 1587 | PC operating systems. The CIFS protocol is fully supported by |
1588 | file servers such as Windows 2000 (including Windows 2003, NT 4 | 1588 | file servers such as Windows 2000 (including Windows 2003, NT 4 |
1589 | and Windows XP) as well by Samba (which provides excellent CIFS | 1589 | and Windows XP) as well by Samba (which provides excellent CIFS |
1590 | server support for Linux and many other operating systems). Currently | 1590 | server support for Linux and many other operating systems). Limited |
1591 | you must use the smbfs client filesystem to access older SMB servers | 1591 | support for Windows ME and similar servers is provided as well. |
1592 | such as Windows 9x and OS/2. | 1592 | You must use the smbfs client filesystem to access older SMB servers |
1593 | such as OS/2 and DOS. | ||
1593 | 1594 | ||
1594 | The intent of the cifs module is to provide an advanced | 1595 | The intent of the cifs module is to provide an advanced |
1595 | network file system client for mounting to CIFS compliant servers, | 1596 | network file system client for mounting to CIFS compliant servers, |
@@ -1600,7 +1601,7 @@ config CIFS | |||
1600 | cifs if running only a (Samba) server. It is possible to enable both | 1601 | cifs if running only a (Samba) server. It is possible to enable both |
1601 | smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003 | 1602 | smbfs and cifs (e.g. if you are using CIFS for accessing Windows 2003 |
1602 | and Samba 3 servers, and smbfs for accessing old servers). If you need | 1603 | and Samba 3 servers, and smbfs for accessing old servers). If you need |
1603 | to mount to Samba or Windows 2003 servers from this machine, say Y. | 1604 | to mount to Samba or Windows from this machine, say Y. |
1604 | 1605 | ||
1605 | config CIFS_STATS | 1606 | config CIFS_STATS |
1606 | bool "CIFS statistics" | 1607 | bool "CIFS statistics" |
@@ -1609,8 +1610,22 @@ config CIFS_STATS | |||
1609 | Enabling this option will cause statistics for each server share | 1610 | Enabling this option will cause statistics for each server share |
1610 | mounted by the cifs client to be displayed in /proc/fs/cifs/Stats | 1611 | mounted by the cifs client to be displayed in /proc/fs/cifs/Stats |
1611 | 1612 | ||
1613 | config CIFS_STATS2 | ||
1614 | bool "CIFS extended statistics" | ||
1615 | depends on CIFS_STATS | ||
1616 | help | ||
1617 | Enabling this option will allow more detailed statistics on SMB | ||
1618 | request timing to be displayed in /proc/fs/cifs/DebugData and also | ||
1619 | allow optional logging of slow responses to dmesg (depending on the | ||
1620 | value of /proc/fs/cifs/cifsFYI, see fs/cifs/README for more details). | ||
1621 | These additional statistics may have a minor effect on performance | ||
1622 | and memory utilization. | ||
1623 | |||
1624 | Unless you are a developer or are doing network performance analysis | ||
1625 | or tuning, say N. | ||
1626 | |||
1612 | config CIFS_XATTR | 1627 | config CIFS_XATTR |
1613 | bool "CIFS extended attributes (EXPERIMENTAL)" | 1628 | bool "CIFS extended attributes" |
1614 | depends on CIFS | 1629 | depends on CIFS |
1615 | help | 1630 | help |
1616 | Extended attributes are name:value pairs associated with inodes by | 1631 | Extended attributes are name:value pairs associated with inodes by |
@@ -1622,11 +1637,11 @@ config CIFS_XATTR | |||
1622 | prefaced by the user namespace prefix. The system namespace | 1637 | prefaced by the user namespace prefix. The system namespace |
1623 | (used by some filesystems to store ACLs) is not supported at | 1638 | (used by some filesystems to store ACLs) is not supported at |
1624 | this time. | 1639 | this time. |
1625 | 1640 | ||
1626 | If unsure, say N. | 1641 | If unsure, say N. |
1627 | 1642 | ||
1628 | config CIFS_POSIX | 1643 | config CIFS_POSIX |
1629 | bool "CIFS POSIX Extensions (EXPERIMENTAL)" | 1644 | bool "CIFS POSIX Extensions" |
1630 | depends on CIFS_XATTR | 1645 | depends on CIFS_XATTR |
1631 | help | 1646 | help |
1632 | Enabling this option will cause the cifs client to attempt to | 1647 | Enabling this option will cause the cifs client to attempt to |
@@ -1641,8 +1656,15 @@ config CIFS_EXPERIMENTAL | |||
1641 | bool "CIFS Experimental Features (EXPERIMENTAL)" | 1656 | bool "CIFS Experimental Features (EXPERIMENTAL)" |
1642 | depends on CIFS && EXPERIMENTAL | 1657 | depends on CIFS && EXPERIMENTAL |
1643 | help | 1658 | help |
1644 | Enables cifs features under testing. These features | 1659 | Enables cifs features under testing. These features are |
1645 | are highly experimental. If unsure, say N. | 1660 | experimental and currently include support for writepages |
1661 | (multipage writebehind performance improvements) and directory | ||
1662 | change notification ie fcntl(F_DNOTIFY) as well as some security | ||
1663 | improvements. Some also depend on setting at runtime the | ||
1664 | pseudo-file /proc/fs/cifs/Experimental (which is disabled by | ||
1665 | default). See the file fs/cifs/README for more details. | ||
1666 | |||
1667 | If unsure, say N. | ||
1646 | 1668 | ||
1647 | config NCP_FS | 1669 | config NCP_FS |
1648 | tristate "NCP file system support (to mount NetWare volumes)" | 1670 | tristate "NCP file system support (to mount NetWare volumes)" |
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index d301149b1bb0..1b73f4f4c5ce 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h | |||
@@ -242,11 +242,11 @@ extern int CIFSSMBWrite2(const int xid, struct cifsTconInfo *tcon, | |||
242 | const int netfid, const unsigned int count, | 242 | const int netfid, const unsigned int count, |
243 | const __u64 offset, unsigned int *nbytes, | 243 | const __u64 offset, unsigned int *nbytes, |
244 | struct kvec *iov, const int nvec, const int long_op); | 244 | struct kvec *iov, const int nvec, const int long_op); |
245 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
245 | extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, | 246 | extern int CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, |
246 | const unsigned char *searchName, __u64 * inode_number, | 247 | const unsigned char *searchName, __u64 * inode_number, |
247 | const struct nls_table *nls_codepage, | 248 | const struct nls_table *nls_codepage, |
248 | int remap_special_chars); | 249 | int remap_special_chars); |
249 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | ||
250 | extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen, | 250 | extern int cifs_convertUCSpath(char *target, const __le16 *source, int maxlen, |
251 | const struct nls_table * codepage); | 251 | const struct nls_table * codepage); |
252 | extern int cifsConvertToUCS(__le16 * target, const char *source, int maxlen, | 252 | extern int cifsConvertToUCS(__le16 * target, const char *source, int maxlen, |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 9312bfc56682..a53c596e1082 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -2959,7 +2959,6 @@ CIFSFindClose(const int xid, struct cifsTconInfo *tcon, const __u16 searchHandle | |||
2959 | return rc; | 2959 | return rc; |
2960 | } | 2960 | } |
2961 | 2961 | ||
2962 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
2963 | int | 2962 | int |
2964 | CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, | 2963 | CIFSGetSrvInodeNumber(const int xid, struct cifsTconInfo *tcon, |
2965 | const unsigned char *searchName, | 2964 | const unsigned char *searchName, |
@@ -3053,7 +3052,6 @@ GetInodeNumOut: | |||
3053 | goto GetInodeNumberRetry; | 3052 | goto GetInodeNumberRetry; |
3054 | return rc; | 3053 | return rc; |
3055 | } | 3054 | } |
3056 | #endif /* CIFS_EXPERIMENTAL */ | ||
3057 | 3055 | ||
3058 | int | 3056 | int |
3059 | CIFSGetDFSRefer(const int xid, struct cifsSesInfo *ses, | 3057 | CIFSGetDFSRefer(const int xid, struct cifsSesInfo *ses, |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 912d401600f6..923d071163b2 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -283,7 +283,6 @@ int cifs_get_inode_info(struct inode **pinode, | |||
283 | there Windows server or network appliances for which | 283 | there Windows server or network appliances for which |
284 | IndexNumber field is not guaranteed unique? */ | 284 | IndexNumber field is not guaranteed unique? */ |
285 | 285 | ||
286 | #ifdef CONFIG_CIFS_EXPERIMENTAL | ||
287 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM){ | 286 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM){ |
288 | int rc1 = 0; | 287 | int rc1 = 0; |
289 | __u64 inode_num; | 288 | __u64 inode_num; |
@@ -299,7 +298,6 @@ int cifs_get_inode_info(struct inode **pinode, | |||
299 | } else /* do we need cast or hash to ino? */ | 298 | } else /* do we need cast or hash to ino? */ |
300 | (*pinode)->i_ino = inode_num; | 299 | (*pinode)->i_ino = inode_num; |
301 | } /* else ino incremented to unique num in new_inode*/ | 300 | } /* else ino incremented to unique num in new_inode*/ |
302 | #endif /* CIFS_EXPERIMENTAL */ | ||
303 | insert_inode_hash(*pinode); | 301 | insert_inode_hash(*pinode); |
304 | } | 302 | } |
305 | inode = *pinode; | 303 | inode = *pinode; |