diff options
author | David Howells <dhowells@redhat.com> | 2007-05-09 05:33:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:30:50 -0400 |
commit | 416351f28d2b31d15ff73e9aff699b2163704c95 (patch) | |
tree | 4b43838415b2cb95dfc66f9bc5fdb36b0f245e6c /fs/afs/dir.c | |
parent | ef71c15c46a053818f7e69098ebb052b31ffa56b (diff) |
AFS: AFS fixups
Make some miscellaneous changes to the AFS filesystem:
(1) Assert RCU barriers on module exit to make sure RCU has finished with
callbacks in this module.
(2) Correctly handle the AFS server returning a zero-length read.
(3) Split out data zapping calls into one function (afs_zap_data).
(4) Rename some afs_file_*() functions to afs_*() where they apply to
non-regular files too.
(5) Be consistent about the presentation of volume ID:vnode ID in debugging
output.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/afs/dir.c')
-rw-r--r-- | fs/afs/dir.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 0c1e902f17a3..51f177af5dd6 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c | |||
@@ -55,7 +55,7 @@ const struct inode_operations afs_dir_inode_operations = { | |||
55 | .rmdir = afs_rmdir, | 55 | .rmdir = afs_rmdir, |
56 | .rename = afs_rename, | 56 | .rename = afs_rename, |
57 | .permission = afs_permission, | 57 | .permission = afs_permission, |
58 | .getattr = afs_inode_getattr, | 58 | .getattr = afs_getattr, |
59 | }; | 59 | }; |
60 | 60 | ||
61 | static struct dentry_operations afs_fs_dentry_operations = { | 61 | static struct dentry_operations afs_fs_dentry_operations = { |
@@ -491,7 +491,7 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry, | |||
491 | 491 | ||
492 | vnode = AFS_FS_I(dir); | 492 | vnode = AFS_FS_I(dir); |
493 | 493 | ||
494 | _enter("{%x:%d},%p{%s},", | 494 | _enter("{%x:%u},%p{%s},", |
495 | vnode->fid.vid, vnode->fid.vnode, dentry, dentry->d_name.name); | 495 | vnode->fid.vid, vnode->fid.vnode, dentry, dentry->d_name.name); |
496 | 496 | ||
497 | ASSERTCMP(dentry->d_inode, ==, NULL); | 497 | ASSERTCMP(dentry->d_inode, ==, NULL); |
@@ -731,7 +731,7 @@ static int afs_mkdir(struct inode *dir, struct dentry *dentry, int mode) | |||
731 | 731 | ||
732 | dvnode = AFS_FS_I(dir); | 732 | dvnode = AFS_FS_I(dir); |
733 | 733 | ||
734 | _enter("{%x:%d},{%s},%o", | 734 | _enter("{%x:%u},{%s},%o", |
735 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode); | 735 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode); |
736 | 736 | ||
737 | ret = -ENAMETOOLONG; | 737 | ret = -ENAMETOOLONG; |
@@ -796,7 +796,7 @@ static int afs_rmdir(struct inode *dir, struct dentry *dentry) | |||
796 | 796 | ||
797 | dvnode = AFS_FS_I(dir); | 797 | dvnode = AFS_FS_I(dir); |
798 | 798 | ||
799 | _enter("{%x:%d},{%s}", | 799 | _enter("{%x:%u},{%s}", |
800 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name); | 800 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name); |
801 | 801 | ||
802 | ret = -ENAMETOOLONG; | 802 | ret = -ENAMETOOLONG; |
@@ -842,7 +842,7 @@ static int afs_unlink(struct inode *dir, struct dentry *dentry) | |||
842 | 842 | ||
843 | dvnode = AFS_FS_I(dir); | 843 | dvnode = AFS_FS_I(dir); |
844 | 844 | ||
845 | _enter("{%x:%d},{%s}", | 845 | _enter("{%x:%u},{%s}", |
846 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name); | 846 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name); |
847 | 847 | ||
848 | ret = -ENAMETOOLONG; | 848 | ret = -ENAMETOOLONG; |
@@ -916,7 +916,7 @@ static int afs_create(struct inode *dir, struct dentry *dentry, int mode, | |||
916 | 916 | ||
917 | dvnode = AFS_FS_I(dir); | 917 | dvnode = AFS_FS_I(dir); |
918 | 918 | ||
919 | _enter("{%x:%d},{%s},%o,", | 919 | _enter("{%x:%u},{%s},%o,", |
920 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode); | 920 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, mode); |
921 | 921 | ||
922 | ret = -ENAMETOOLONG; | 922 | ret = -ENAMETOOLONG; |
@@ -983,7 +983,7 @@ static int afs_link(struct dentry *from, struct inode *dir, | |||
983 | vnode = AFS_FS_I(from->d_inode); | 983 | vnode = AFS_FS_I(from->d_inode); |
984 | dvnode = AFS_FS_I(dir); | 984 | dvnode = AFS_FS_I(dir); |
985 | 985 | ||
986 | _enter("{%x:%d},{%x:%d},{%s}", | 986 | _enter("{%x:%u},{%x:%u},{%s}", |
987 | vnode->fid.vid, vnode->fid.vnode, | 987 | vnode->fid.vid, vnode->fid.vnode, |
988 | dvnode->fid.vid, dvnode->fid.vnode, | 988 | dvnode->fid.vid, dvnode->fid.vnode, |
989 | dentry->d_name.name); | 989 | dentry->d_name.name); |
@@ -1032,7 +1032,7 @@ static int afs_symlink(struct inode *dir, struct dentry *dentry, | |||
1032 | 1032 | ||
1033 | dvnode = AFS_FS_I(dir); | 1033 | dvnode = AFS_FS_I(dir); |
1034 | 1034 | ||
1035 | _enter("{%x:%d},{%s},%s", | 1035 | _enter("{%x:%u},{%s},%s", |
1036 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, | 1036 | dvnode->fid.vid, dvnode->fid.vnode, dentry->d_name.name, |
1037 | content); | 1037 | content); |
1038 | 1038 | ||
@@ -1104,7 +1104,7 @@ static int afs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
1104 | orig_dvnode = AFS_FS_I(old_dir); | 1104 | orig_dvnode = AFS_FS_I(old_dir); |
1105 | new_dvnode = AFS_FS_I(new_dir); | 1105 | new_dvnode = AFS_FS_I(new_dir); |
1106 | 1106 | ||
1107 | _enter("{%x:%d},{%x:%d},{%x:%d},{%s}", | 1107 | _enter("{%x:%u},{%x:%u},{%x:%u},{%s}", |
1108 | orig_dvnode->fid.vid, orig_dvnode->fid.vnode, | 1108 | orig_dvnode->fid.vid, orig_dvnode->fid.vnode, |
1109 | vnode->fid.vid, vnode->fid.vnode, | 1109 | vnode->fid.vid, vnode->fid.vnode, |
1110 | new_dvnode->fid.vid, new_dvnode->fid.vnode, | 1110 | new_dvnode->fid.vid, new_dvnode->fid.vnode, |