[AFS]: Add "directory write" support.
[linux-2.6.git] / fs / afs / misc.c
index 98e9276..cdb9792 100644 (file)
@@ -22,6 +22,7 @@ int afs_abort_to_error(u32 abort_code)
 {
        switch (abort_code) {
        case 13:                return -EACCES;
+       case 30:                return -EROFS;
        case VSALVAGE:          return -EIO;
        case VNOVNODE:          return -ENOENT;
        case VNOVOL:            return -ENOMEDIUM;
@@ -33,6 +34,24 @@ int afs_abort_to_error(u32 abort_code)
        case VOVERQUOTA:        return -EDQUOT;
        case VBUSY:             return -EBUSY;
        case VMOVED:            return -ENXIO;
-       default:                return -EIO;
+       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;
        }
 }