Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[PATCH] cifs: Fix mapping of EMLINK case

parent cd63499c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
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
+1 −1
Original line number Diff line number Diff line
@@ -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 */
+2 −1
Original line number Diff line number Diff line
@@ -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}, {
+4 −0
Original line number Diff line number Diff line
@@ -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