From 04f7d65437b67cf2c377d9b7d174d701afc096a0 Mon Sep 17 00:00:00 2001 From: Steve French Date: Thu, 28 Apr 2005 22:41:10 -0700 Subject: [PATCH] --- yaml --- r: 575 b: refs/heads/master c: 11aa0149d0e49ee1791735ec4ae3079b27b9a68e h: refs/heads/master i: 573: 7ce6d883db8466d5f3e2d8f764f347034b09f5b5 571: fb10a84fe081d9ef67ead8de10d55265ca63cab5 567: 54b7c61d4667815a9fb5ce109a5b97d3ff3c8381 559: 6a0f14937ec55a205281dcc2be36695aa0e13f1e 543: 19d2887fdb623e0ac3f1fd7a70c95805e357361e 511: a4ccb142a09ad69976cf727ba97be442de09b822 v: v3 --- [refs] | 2 +- trunk/fs/cifs/CHANGES | 4 ++++ trunk/fs/cifs/cifsfs.h | 2 +- trunk/fs/cifs/netmisc.c | 3 ++- trunk/fs/cifs/smberr.h | 4 ++++ 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 69d991264d06..b6d7da5830e0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cd63499cbe37e53e6cc084c8a35d911a4613c797 +refs/heads/master: 11aa0149d0e49ee1791735ec4ae3079b27b9a68e diff --git a/trunk/fs/cifs/CHANGES b/trunk/fs/cifs/CHANGES index 3d61d96d7407..21a246473a91 100644 --- a/trunk/fs/cifs/CHANGES +++ b/trunk/fs/cifs/CHANGES @@ -1,3 +1,7 @@ +Version 1.34 +------------ +Fix error mapping of the TOO_MANY_LINKS (hardlinks) case. + Version 1.33 ------------ Fix caching problem, in which readdir of directory containing a file diff --git a/trunk/fs/cifs/cifsfs.h b/trunk/fs/cifs/cifsfs.h index 8f742796a627..d00b3bfe1a52 100644 --- a/trunk/fs/cifs/cifsfs.h +++ b/trunk/fs/cifs/cifsfs.h @@ -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 int cifs_ioctl (struct inode * inode, struct file * filep, unsigned int command, unsigned long arg); -#define CIFS_VERSION "1.33" +#define CIFS_VERSION "1.34" #endif /* _CIFSFS_H */ diff --git a/trunk/fs/cifs/netmisc.c b/trunk/fs/cifs/netmisc.c index dfaabc8d8fb6..a92af41d4411 100644 --- a/trunk/fs/cifs/netmisc.c +++ b/trunk/fs/cifs/netmisc.c @@ -78,6 +78,7 @@ static const struct smb_to_posix_error mapping_table_ERRDOS[] = { {ErrQuota, -EDQUOT}, {ErrNotALink, -ENOLINK}, {ERRnetlogonNotStarted,-ENOPROTOOPT}, + {ErrTooManyLinks,-EMLINK}, {0, 0} }; @@ -742,7 +743,7 @@ static const struct { ERRDOS, 182, NT_STATUS_DRIVER_ORDINAL_NOT_FOUND}, { ERRDOS, 127, NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND}, { 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_FILE_IS_OFFLINE}, { ERRDOS, 21, 0xc000026e}, { diff --git a/trunk/fs/cifs/smberr.h b/trunk/fs/cifs/smberr.h index 1b53dcd0f2eb..cd41c67ff8d3 100644 --- a/trunk/fs/cifs/smberr.h +++ b/trunk/fs/cifs/smberr.h @@ -107,6 +107,10 @@ #define ErrNotALink 0x201 /* A link operation was performed on a 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.*/ #define ERRerror 1 /* Non-specific error code. It is