diff options
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/README | 12 | ||||
-rw-r--r-- | fs/cifs/cifsproto.h | 3 | ||||
-rw-r--r-- | fs/cifs/cifssmb.c | 14 |
3 files changed, 14 insertions, 15 deletions
diff --git a/fs/cifs/README b/fs/cifs/README index 74ab165fc646..4a3ca0e5ca24 100644 --- a/fs/cifs/README +++ b/fs/cifs/README | |||
@@ -704,18 +704,6 @@ the start of smb requests and responses can be enabled via: | |||
704 | 704 | ||
705 | echo 1 > /proc/fs/cifs/traceSMB | 705 | echo 1 > /proc/fs/cifs/traceSMB |
706 | 706 | ||
707 | Two other experimental features are under development. To test these | ||
708 | requires enabling CONFIG_CIFS_EXPERIMENTAL | ||
709 | |||
710 | cifsacl support needed to retrieve approximated mode bits based on | ||
711 | the contents on the CIFS ACL. | ||
712 | |||
713 | lease support: cifs will check the oplock state before calling into | ||
714 | the vfs to see if we can grant a lease on a file. | ||
715 | |||
716 | DNOTIFY fcntl: needed for support of directory change | ||
717 | notification and perhaps later for file leases) | ||
718 | |||
719 | Per share (per client mount) statistics are available in /proc/fs/cifs/Stats | 707 | Per share (per client mount) statistics are available in /proc/fs/cifs/Stats |
720 | if the kernel was configured with cifs statistics enabled. The statistics | 708 | if the kernel was configured with cifs statistics enabled. The statistics |
721 | represent the number of successful (ie non-zero return code from the server) | 709 | represent the number of successful (ie non-zero return code from the server) |
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 34bbd5cf46d0..da7a4923783f 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h | |||
@@ -304,12 +304,13 @@ extern int CIFSSMBUnixQuerySymLink(const int xid, | |||
304 | struct cifsTconInfo *tcon, | 304 | struct cifsTconInfo *tcon, |
305 | const unsigned char *searchName, char **syminfo, | 305 | const unsigned char *searchName, char **syminfo, |
306 | const struct nls_table *nls_codepage); | 306 | const struct nls_table *nls_codepage); |
307 | #ifdef CONFIG_CIFS_SYMLINK_EXPERIMENTAL | ||
307 | extern int CIFSSMBQueryReparseLinkInfo(const int xid, | 308 | extern int CIFSSMBQueryReparseLinkInfo(const int xid, |
308 | struct cifsTconInfo *tcon, | 309 | struct cifsTconInfo *tcon, |
309 | const unsigned char *searchName, | 310 | const unsigned char *searchName, |
310 | char *symlinkinfo, const int buflen, __u16 fid, | 311 | char *symlinkinfo, const int buflen, __u16 fid, |
311 | const struct nls_table *nls_codepage); | 312 | const struct nls_table *nls_codepage); |
312 | 313 | #endif /* temporarily unused until cifs_symlink fixed */ | |
313 | extern int CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon, | 314 | extern int CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon, |
314 | const char *fileName, const int disposition, | 315 | const char *fileName, const int disposition, |
315 | const int access_flags, const int omode, | 316 | const int access_flags, const int omode, |
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 5630282f2821..ae5e451a0d08 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -2516,7 +2516,17 @@ querySymLinkRetry: | |||
2516 | return rc; | 2516 | return rc; |
2517 | } | 2517 | } |
2518 | 2518 | ||
2519 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 2519 | #ifdef CONFIG_CIFS_SYMLINK_EXPERIMENTAL |
2520 | /* | ||
2521 | * Recent Windows versions now create symlinks more frequently | ||
2522 | * and they use the "reparse point" mechanism below. We can of course | ||
2523 | * do symlinks nicely to Samba and other servers which support the | ||
2524 | * CIFS Unix Extensions and we can also do SFU symlinks and "client only" | ||
2525 | * "MF" symlinks optionally, but for recent Windows we really need to | ||
2526 | * reenable the code below and fix the cifs_symlink callers to handle this. | ||
2527 | * In the interim this code has been moved to its own config option so | ||
2528 | * it is not compiled in by default until callers fixed up and more tested. | ||
2529 | */ | ||
2520 | int | 2530 | int |
2521 | CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, | 2531 | CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, |
2522 | const unsigned char *searchName, | 2532 | const unsigned char *searchName, |
@@ -2618,7 +2628,7 @@ qreparse_out: | |||
2618 | 2628 | ||
2619 | return rc; | 2629 | return rc; |
2620 | } | 2630 | } |
2621 | #endif /* CIFS_EXPERIMENTAL */ | 2631 | #endif /* CIFS_SYMLINK_EXPERIMENTAL */ /* BB temporarily unused */ |
2622 | 2632 | ||
2623 | #ifdef CONFIG_CIFS_POSIX | 2633 | #ifdef CONFIG_CIFS_POSIX |
2624 | 2634 | ||