Commit 11aa0149 authored by Steve French's avatar Steve French Committed by Linus Torvalds

[PATCH] cifs: Fix mapping of EMLINK case

Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent cd63499c
Version 1.34
------------
Fix error mapping of the TOO_MANY_LINKS (hardlinks) case.
Version 1.33 Version 1.33
------------ ------------
Fix caching problem, in which readdir of directory containing a file Fix caching problem, in which readdir of directory containing a file
......
...@@ -96,5 +96,5 @@ extern ssize_t cifs_getxattr(struct dentry *, const char *, void *, size_t); ...@@ -96,5 +96,5 @@ extern ssize_t cifs_getxattr(struct dentry *, const char *, void *, size_t);
extern ssize_t cifs_listxattr(struct dentry *, char *, size_t); extern ssize_t cifs_listxattr(struct dentry *, char *, size_t);
extern int cifs_ioctl (struct inode * inode, struct file * filep, extern int cifs_ioctl (struct inode * inode, struct file * filep,
unsigned int command, unsigned long arg); unsigned int command, unsigned long arg);
#define CIFS_VERSION "1.33" #define CIFS_VERSION "1.34"
#endif /* _CIFSFS_H */ #endif /* _CIFSFS_H */
...@@ -78,6 +78,7 @@ static const struct smb_to_posix_error mapping_table_ERRDOS[] = { ...@@ -78,6 +78,7 @@ static const struct smb_to_posix_error mapping_table_ERRDOS[] = {
{ErrQuota, -EDQUOT}, {ErrQuota, -EDQUOT},
{ErrNotALink, -ENOLINK}, {ErrNotALink, -ENOLINK},
{ERRnetlogonNotStarted,-ENOPROTOOPT}, {ERRnetlogonNotStarted,-ENOPROTOOPT},
{ErrTooManyLinks,-EMLINK},
{0, 0} {0, 0}
}; };
...@@ -742,7 +743,7 @@ static const struct { ...@@ -742,7 +743,7 @@ static const struct {
ERRDOS, 182, NT_STATUS_DRIVER_ORDINAL_NOT_FOUND}, { ERRDOS, 182, NT_STATUS_DRIVER_ORDINAL_NOT_FOUND}, {
ERRDOS, 127, NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND}, { ERRDOS, 127, NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND}, {
ERRDOS, 288, NT_STATUS_RESOURCE_NOT_OWNED}, { ERRDOS, 288, NT_STATUS_RESOURCE_NOT_OWNED}, {
ERRHRD, ERRgeneral, NT_STATUS_TOO_MANY_LINKS}, { ERRDOS, ErrTooManyLinks, NT_STATUS_TOO_MANY_LINKS}, {
ERRHRD, ERRgeneral, NT_STATUS_QUOTA_LIST_INCONSISTENT}, { ERRHRD, ERRgeneral, NT_STATUS_QUOTA_LIST_INCONSISTENT}, {
ERRHRD, ERRgeneral, NT_STATUS_FILE_IS_OFFLINE}, { ERRHRD, ERRgeneral, NT_STATUS_FILE_IS_OFFLINE}, {
ERRDOS, 21, 0xc000026e}, { ERRDOS, 21, 0xc000026e}, {
......
...@@ -107,6 +107,10 @@ ...@@ -107,6 +107,10 @@
#define ErrNotALink 0x201 /* A link operation was performed on a #define ErrNotALink 0x201 /* A link operation was performed on a
pathname that was not a link. */ pathname that was not a link. */
/* Below errors are used internally (do not come over the wire) for passthrough
from STATUS codes to POSIX only */
#define ErrTooManyLinks 0xFFFE
/* Following error codes may be generated with the ERRSRV error class.*/ /* Following error codes may be generated with the ERRSRV error class.*/
#define ERRerror 1 /* Non-specific error code. It is #define ERRerror 1 /* Non-specific error code. It is
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment