rename the generic fsync implementations
[safe/jmp/linux-2.6] / fs / afs / misc.c
index 55bc677..0dd4daf 100644 (file)
@@ -1,6 +1,6 @@
 /* miscellaneous bits
  *
- * Copyright (C) 2002 Red Hat, Inc. All Rights Reserved.
+ * 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
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/errno.h>
-#include "errors.h"
+#include <rxrpc/packet.h>
 #include "internal.h"
+#include "afs_fs.h"
 
 /*
  * convert an AFS abort code to a Linux error number
  */
-int afs_abort_to_error(int abortcode)
+int afs_abort_to_error(u32 abort_code)
 {
-       switch (abortcode) {
+       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 -ENXIO;
+       case VNOVOL:            return -ENOMEDIUM;
        case VVOLEXISTS:        return -EEXIST;
        case VNOSERVICE:        return -EIO;
        case VOFFLINE:          return -ENOENT;
@@ -32,6 +36,40 @@ int afs_abort_to_error(int abortcode)
        case VOVERQUOTA:        return -EDQUOT;
        case VBUSY:             return -EBUSY;
        case VMOVED:            return -ENXIO;
-       default:                return -EIO;
+       case 0x2f6df0a:         return -EWOULDBLOCK;
+       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;
+
+       case RXKADINCONSISTENCY: return -EPROTO;
+       case RXKADPACKETSHORT:  return -EPROTO;
+       case RXKADLEVELFAIL:    return -EKEYREJECTED;
+       case RXKADTICKETLEN:    return -EKEYREJECTED;
+       case RXKADOUTOFSEQUENCE: return -EPROTO;
+       case RXKADNOAUTH:       return -EKEYREJECTED;
+       case RXKADBADKEY:       return -EKEYREJECTED;
+       case RXKADBADTICKET:    return -EKEYREJECTED;
+       case RXKADUNKNOWNKEY:   return -EKEYREJECTED;
+       case RXKADEXPIRED:      return -EKEYEXPIRED;
+       case RXKADSEALEDINCON:  return -EKEYREJECTED;
+       case RXKADDATALEN:      return -EKEYREJECTED;
+       case RXKADILLEGALLEVEL: return -EKEYREJECTED;
+
+       default:                return -EREMOTEIO;
        }
 }