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/main.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/main.c')
-rw-r--r-- | fs/afs/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/afs/main.c b/fs/afs/main.c index 80ec6fd19a73..f1f71ff7d5c6 100644 --- a/fs/afs/main.c +++ b/fs/afs/main.c | |||
@@ -149,6 +149,7 @@ error_cache: | |||
149 | afs_vlocation_purge(); | 149 | afs_vlocation_purge(); |
150 | afs_cell_purge(); | 150 | afs_cell_purge(); |
151 | afs_proc_cleanup(); | 151 | afs_proc_cleanup(); |
152 | rcu_barrier(); | ||
152 | printk(KERN_ERR "kAFS: failed to register: %d\n", ret); | 153 | printk(KERN_ERR "kAFS: failed to register: %d\n", ret); |
153 | return ret; | 154 | return ret; |
154 | } | 155 | } |
@@ -176,6 +177,7 @@ static void __exit afs_exit(void) | |||
176 | cachefs_unregister_netfs(&afs_cache_netfs); | 177 | cachefs_unregister_netfs(&afs_cache_netfs); |
177 | #endif | 178 | #endif |
178 | afs_proc_cleanup(); | 179 | afs_proc_cleanup(); |
180 | rcu_barrier(); | ||
179 | } | 181 | } |
180 | 182 | ||
181 | module_exit(afs_exit); | 183 | module_exit(afs_exit); |