| /* miscellaneous bits | 
 |  * | 
 |  * Copyright (C) 2002, 2007 Red Hat, Inc. All Rights Reserved. | 
 |  * Written by David Howells (dhowells@redhat.com) | 
 |  * | 
 |  * This program is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU General Public License | 
 |  * as published by the Free Software Foundation; either version | 
 |  * 2 of the License, or (at your option) any later version. | 
 |  */ | 
 |  | 
 | #include <linux/kernel.h> | 
 | #include <linux/module.h> | 
 | #include <linux/errno.h> | 
 | #include "internal.h" | 
 | #include "afs_fs.h" | 
 |  | 
 | /* | 
 |  * convert an AFS abort code to a Linux error number | 
 |  */ | 
 | int afs_abort_to_error(u32 abort_code) | 
 | { | 
 | 	switch (abort_code) { | 
 | 	case 13:		return -EACCES; | 
 | 	case 27:		return -EFBIG; | 
 | 	case 30:		return -EROFS; | 
 | 	case VSALVAGE:		return -EIO; | 
 | 	case VNOVNODE:		return -ENOENT; | 
 | 	case VNOVOL:		return -ENOMEDIUM; | 
 | 	case VVOLEXISTS:	return -EEXIST; | 
 | 	case VNOSERVICE:	return -EIO; | 
 | 	case VOFFLINE:		return -ENOENT; | 
 | 	case VONLINE:		return -EEXIST; | 
 | 	case VDISKFULL:		return -ENOSPC; | 
 | 	case VOVERQUOTA:	return -EDQUOT; | 
 | 	case VBUSY:		return -EBUSY; | 
 | 	case VMOVED:		return -ENXIO; | 
 | 	case 0x2f6df0c:		return -EACCES; | 
 | 	case 0x2f6df0f:		return -EBUSY; | 
 | 	case 0x2f6df10:		return -EEXIST; | 
 | 	case 0x2f6df11:		return -EXDEV; | 
 | 	case 0x2f6df13:		return -ENOTDIR; | 
 | 	case 0x2f6df14:		return -EISDIR; | 
 | 	case 0x2f6df15:		return -EINVAL; | 
 | 	case 0x2f6df1a:		return -EFBIG; | 
 | 	case 0x2f6df1b:		return -ENOSPC; | 
 | 	case 0x2f6df1d:		return -EROFS; | 
 | 	case 0x2f6df1e:		return -EMLINK; | 
 | 	case 0x2f6df20:		return -EDOM; | 
 | 	case 0x2f6df21:		return -ERANGE; | 
 | 	case 0x2f6df22:		return -EDEADLK; | 
 | 	case 0x2f6df23:		return -ENAMETOOLONG; | 
 | 	case 0x2f6df24:		return -ENOLCK; | 
 | 	case 0x2f6df26:		return -ENOTEMPTY; | 
 | 	case 0x2f6df78:		return -EDQUOT; | 
 | 	default:		return -EREMOTEIO; | 
 | 	} | 
 | } |