[AFS]: Add "directory write" support.
Add support for the create, link, symlink, unlink, mkdir, rmdir and rename VFS operations to the in-kernel AFS filesystem. Also: (1) Fix dentry and inode revalidation. d_revalidate should only look at state of the dentry. Revalidation of the contents of an inode pointed to by a dentry is now separate. (2) Fix afs_lookup() to hash negative dentries as well as positive ones. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
c35eccb1f6
commit
260a980317
@@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user